Francisco
b4861bc59a
move sched params and sched helper methods to sched_helpers.h/cc files. Removed place in the scheduler where the mcs is increased forcefully to avoid segmentation
2020-12-12 15:59:27 +01:00
Francisco
920e15c1a5
fix logical channel pdu size computation
2020-12-12 15:59:27 +01:00
Ismael Gomez
ae1092257f
Fix issue in 15 PRB 2CA: Due to DCI format ambiguity, the scheduler needs to use Format1A instead of Format1. The number of PRB was incorrectly calculated when generating the grant, leading to corruptions in the MAC PDU.
2020-12-12 15:59:27 +01:00
Francisco
9eddfdb4a3
fix sched rand tester coderate check. tbs needs to be converted from bytes to bits
2020-12-12 15:59:27 +01:00
Francisco
0ae304a6ed
update sched rand tester to detect when tbs coderate exceeds 0.93
2020-12-12 15:59:27 +01:00
Francisco
99f94d9a1a
Bug fixes of srseNB scheduler TPC
...
- fix encoding of TPC command
- use of exponential average with irregular sampling for the ULSNR average estimate.
Turns out using a time-windowed average for the SNR was a bad idea.
If the UL grants are very sporadic, the SNR time window will never have samples
when a TPC is encoded
- update of TPC sched test
- other fixes in accumulators lib
2020-12-12 15:59:27 +01:00
Francisco
2598989f7d
replace msg3grant type from C-array to bounded vector
2020-12-12 15:59:27 +01:00
Francisco
22229adf08
fix: normal phr is only sent for PCell
2020-12-12 15:59:27 +01:00
Francisco
69748e9313
fix compilation issue regarding definition of size_t in header and declaration of static member null_value in sliding average class
2020-12-12 15:59:27 +01:00
Francisco
d42dc50c44
Write TPC sched unit test and fix sched logical channel test
2020-12-12 15:59:27 +01:00
Francisco
8670558692
fix failing scheduler ca test
2020-12-12 15:59:27 +01:00
Francisco
479602ed1d
add option to specify target ul sinr for UL power control to the enb rr.conf parser
2020-12-12 15:59:27 +01:00
Francisco
5865df39d1
created class that implements the scheduler transmit power control and PHR handling
2020-12-12 15:59:27 +01:00
Xavier Arteaga
ebd87e63c0
Fix worker NR compilation
2020-12-12 15:59:26 +01:00
Xavier Arteaga
f9643843a0
SRSENB/UE Fixed NR workers
2020-12-12 15:59:26 +01:00
Xavier Arteaga
b501f2eeaf
SRSENB/UE: Added NR workers
2020-12-12 15:59:26 +01:00
Xavier Arteaga
a908fb6c5b
Fix NR srsue/srsenb. Initial PHY NR in SRSENB.
2020-12-12 15:59:26 +01:00
Xavier Arteaga
85afdf8ce3
SRSENB: moved phy workers to lte worker pool
2020-12-12 15:59:26 +01:00
Francisco
2b59e90304
fix: limit number of encoded PHICH in the scheduler to the max size of the array
2020-12-12 15:59:26 +01:00
Francisco
2b97b2c8bb
add bound checks for data, bc, and rar allocations in the scheduler to avoid array overflows.
2020-12-12 15:59:26 +01:00
Francisco
d98d14efcc
remove tti_params struct from sched testers, and use tti_point instead
2020-12-12 15:59:26 +01:00
Francisco
86ab1864f7
The struct tti_point is now used ubiquitously in the scheduler
2020-12-12 15:59:26 +01:00
Pedro Alvarez
49bcffcdf8
Fix issue packing TEID in Error indication.
2020-12-12 15:59:26 +01:00
Pedro Alvarez
235f373af7
Started to add ability to send error indication when G-PDU from invalid TEID is received.
2020-12-12 15:59:26 +01:00
Francisco
8fb3ea6922
Added the ability to choose scheduling policy from enb.conf
...
- The two options provided at the moment are time-domain RR and PF
2020-12-12 15:59:26 +01:00
Francisco
b71e8075f4
Refactoring of scheduling algorithms
...
- Use single interface for both DL and UL
- Wrote helper functions for tasks that are common to different algorithms
- created subfolder for all scheduling algorithms
2020-12-12 15:59:26 +01:00
Francisco
64ee0ac2ef
New statistics were added in the random sched tester
...
- new stats allow to analyze the average bitrates of each user
- there is a new stat that computes the total of RBs allocated and total bitrate achieved by the scheduler
2020-12-12 15:59:26 +01:00
Francisco
d7fae0b7a3
Implementation of time-domain PF scheduler
...
- PF scheduling becomes the new default
2020-12-12 15:59:26 +01:00
Andre Puschmann
07d2bc4fe8
change license header to agnostic version with hint to root LICENSE file
2020-12-12 15:59:25 +01:00
Francisco
a5ef9f1eb9
potential fix for heap-overflow in scheduler, issue #2053 . Added a bound check for the number RACH handled per tti. RACHs are ignored once the limit is surpassed.
2020-12-12 15:59:25 +01:00
Francisco
2fcb507de7
Fix gcc compilation errors with false_position_method in sched_ue.cc
2020-12-12 15:59:25 +01:00
Francisco
8d181ef41c
Optimization of cc_sched_ue::cqi_to_tbs(...) method via the use of root-finding algorithm
2020-12-12 15:59:25 +01:00
Francisco
94efeab672
Optimization of sched_ue methods to derive required number of prbs to allocate to a rnti
...
This optimization has been achieved by:
- implementation of "false position method" root-finding algorithm
- application of the false position method in cc_sched_ue::get_required_prb_dl/ul(...)
The number of iterations in the worst case scenario, reduced from 100 to 5 with
the proposed algorithm.
2020-12-12 15:59:25 +01:00
Francisco
f07e52129c
increase mcs ul upper bound to 24 when ue is cat4 and enb supports 64qam. Simplified max_mcs computation
2020-12-12 15:59:25 +01:00
Francisco
3d80ff4831
fix activation of PDCCH for adaptive retxs.
2020-12-12 15:59:25 +01:00
Francisco
fc81a5c6ba
harq ack state can now only be NACK or ACK. The ul_harq pending phich flag is now reset after phich scheduling. Thus, the existence of a crc_info(...) signal from the PHY is not required.
2020-12-12 15:59:25 +01:00
Andre Puschmann
1ecfb88e46
txrx: fix double white space
2020-12-12 15:59:25 +01:00
Andre Puschmann
43220e42d6
enb: print cell bandwidth when initializing them carrier
...
this allows to quickly check the cell bandwidth
2020-12-12 15:59:25 +01:00
Francisco
7a74bf28d1
forward declare s1ap types in enb interfaces
2020-12-12 15:59:25 +01:00
Francisco
95cc6238a5
compilation time reduction - avoid including enb_stack_lte.h in main.cc and include enb_stack_base instead
2020-12-12 15:59:25 +01:00
Francisco
66712023bb
remove unneeded includes of full rrc asn1 lib
2020-12-12 15:59:25 +01:00
Francisco
3067e81e67
fix check of pending UL bytes
2020-12-12 15:59:25 +01:00
Francisco
bb96625129
renaming lch_manager -> lch_ue_manager
2020-12-12 15:59:25 +01:00
Francisco
a348508072
simplified sched_ue pending DL bytes calculation API
2020-12-12 15:59:25 +01:00
Francisco
0ffea62411
Wrote logging functions for SCHED MAC CE/LCID allocations
2020-12-12 15:59:25 +01:00
Francisco
c1fb161004
Move sched lch_manager to separate file
2020-12-12 15:59:25 +01:00
Francisco
eae0dc93ad
rename scheduler files. scheduler -> sched
2020-12-12 15:59:25 +01:00
Francisco
4350e8ff70
fix calculation of number of users during the phy metrics acquisition
2020-12-12 15:59:25 +01:00
Francisco
68eda336bd
remove ENB_METRICS_MAX_USERS compile time macro and use run-time variable to set maximum number of UEs the srseNB can have connected at a given instant.
2020-12-12 15:59:25 +01:00
Ismael Gomez
ce20cc4c54
Add missing current_tx_nb which was causing all in uplink to fail
2020-12-12 15:58:34 +01:00