Francisco Paisana
c1ff03bd1a
moved uci feedback and state variables from cc_sched_ue to sched_ue_cell class
4 years ago
Francisco Paisana
dadee757a1
moved harq entity and tpc to sched_ue_cell
4 years ago
Francisco Paisana
3892194d98
sched refactor, use enb_cc_idx rather than ue_cc_idx primarily to avoid uneeded conversions
4 years ago
Ismael Gomez
47dbd6ed70
Merge pull request #2214 from softwareradiosystems/pr_mac_buffers
...
Limit the number of UL buffers in MAC and deallocate old ones
4 years ago
Ismael Gomez
44e411be2b
Track UL buffers per TTI instead of per PID and remove old ones periodically
4 years ago
Ismael Gomez
d5f0634975
Add PUCCH SNR measurement ( #2175 )
...
* Add PUCCH SNR measurement
* Fix PUCCH SNR estimation
* Reverted PUCCH noise estimation
* use fpclassify instead of iszero
Co-authored-by: Xavier Arteaga <xavier@softwareradiosystems.com>
4 years ago
Ismael Gomez
c1c5fa426c
Fix issue with new way of managing ul buffers not working with CA
4 years ago
Ismael Gomez
e413086576
Limit the number of UL buffers in MAC and deallocate old ones
4 years ago
Francisco Paisana
5391001c46
remove unused variable
4 years ago
Francisco Paisana
d4242f2db7
precompute nof_re_table[sf][prb][slot][cfi] for faster nof_re computation and for more accurate lower bound nof_re computation
4 years ago
Francisco Paisana
d0a17b0a40
created sched_ue_cell class that is indexed based on enb_cc_idx
4 years ago
Francisco Paisana
8b306c81e2
refactor tbs/mcs computation in sched
4 years ago
Francisco Paisana
32c47d4fac
change sched warning when it fails to fit srb0 data in grant to info
4 years ago
Francisco Paisana
1dd211c91c
fix log initialization in sched_helpers.cc
4 years ago
Francisco Paisana
afef5188a6
move sched_harq to subfolder
4 years ago
Francisco Paisana
233e604cfe
cleanup sched_ue, moving some unrelated functions to sched_helpers
4 years ago
Francisco Paisana
0d9ff3ecc7
fixed RBG<->PRB conversion. Changed PHICH logging to be single line
4 years ago
Francisco Paisana
bc8e65c82f
bug fix in the PF scheduler. The correct history was not being stored for newtxs
4 years ago
Francisco Paisana
02d4dde1f5
issue 2170 fix: add extra check that UL harq is empty before allocating it
4 years ago
Francisco Paisana
ea8ad153c4
add configurable fairness parameter to pf scheduler
4 years ago
Francisco Paisana
2abe486e18
separate control loops for PUCCH and PUSCH TPC
4 years ago
Andre Puschmann
732a108982
mac: convert rar_pdu_msg[] from vector into array and protect access
...
attempt to address ASAN detected issue:
RACH: tti=821, cc=3, preamble=11, offset=0, temp_crnti=0x47
ASAN:DEADLYSIGNAL
=================================================================
m==25385==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000024 (pc 0x564b19a26c93 bp 0x7fa0e5f1a8c0 sp 0x7fa0e5f1a798 T8)
==25385==The signal is caused by a WRITE memory access.
==25385==Hint: address points to the zero page.
------DL--------------------------------UL------------------------------------
rnti cqi ri mcs brate ok nok (%) snr phr mcs brate ok nok (%) bsr
46 0.10 0 0.0 0 0 0 0% 0 0.0 0 0 0 0 0% 0.0
47 0.10 0 0.0 0 0 0 0% 0 0.0 0 0 0 0 0% 0.0
#0 0x564b19a26c92 in srslte::rar_subh::set_ta_cmd(unsigned int) /mnt/data/jenkins/workspace/srslte_ogt_manual_zmq/srsLTE/lib/src/mac/pdu.cc:1136
#1 0x564b19577f7e in srsenb::mac::assemble_rar(srsenb::sched_interface::dl_sched_rar_grant_t*, unsigned int, int, unsigned int, unsigned int) /mnt/data/jenkins/workspace/srslte_ogt_manual_zmq/srsLTE/srsenb/src/stack/mac/mac.cc:837
#2 0x564b19591765 in srsenb::mac::get_dl_sched(unsigned int, std::vector<srsenb::mac_interface_phy_lte::dl_sched_t, std::allocator<srsenb::mac_interface_phy_lte::dl_sched_t> >&) /mnt/data/jenkins/workspace/srslte_ogt_manual_zmq/srsLTE/srsenb/src/stack/mac/mac.cc:653
#3 0x564b19497ee2 in srsenb::lte::sf_worker::work_imp() /mnt/data/jenkins/workspace/srslte_ogt_manual_zmq/srsLTE/srsenb/src/phy/lte/sf_worker.cc:208
#4 0x564b199f8db4 in
4 years ago
Francisco Paisana
9de318c7e6
avoid allocating DL harqs when respective acks are still pending, when there is a reordering of ttis in the phy
4 years ago
Francisco Paisana
099dad8cb1
disable PHR handling in the UL sched by default
4 years ago
Ismael Gomez
f9a02299f9
Use MAC PDU pointer instead of tti_rx and rnti as a key to associate buffers. Decouple crc_info() and push_pdu() functions. This allows for different timing architectures in the PHY
4 years ago
faluco
343587b32d
Update NR classes after metrics interface changes.
4 years ago
faluco
f20b75a05f
Re-structure enb metrics a bit. Create a generic mac metric struct and per ue mac metrics struct.
4 years ago
faluco
5529943172
Add a per sector rach preable counter for the metrics.
4 years ago
faluco
dcd1157d39
- Prototype the extension of enb metrics.
4 years ago
Francisco
cba0cc457f
sched rand test refactor: creation of abstract sched simulator class for testing
4 years ago
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
4 years ago
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
4 years ago
Francisco
22229adf08
fix: normal phr is only sent for PCell
4 years ago
Francisco
69748e9313
fix compilation issue regarding definition of size_t in header and declaration of static member null_value in sliding average class
4 years ago
Francisco
d42dc50c44
Write TPC sched unit test and fix sched logical channel test
4 years ago
Francisco
479602ed1d
add option to specify target ul sinr for UL power control to the enb rr.conf parser
4 years ago
Francisco
5865df39d1
created class that implements the scheduler transmit power control and PHR handling
4 years ago
Francisco
86ab1864f7
The struct tti_point is now used ubiquitously in the scheduler
4 years ago
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
4 years ago
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
4 years ago
Francisco
d7fae0b7a3
Implementation of time-domain PF scheduler
...
- PF scheduling becomes the new default
4 years ago
Andre Puschmann
07d2bc4fe8
change license header to agnostic version with hint to root LICENSE file
4 years ago
Francisco
f07e52129c
increase mcs ul upper bound to 24 when ue is cat4 and enb supports 64qam. Simplified max_mcs computation
4 years ago
Francisco
3d80ff4831
fix activation of PDCCH for adaptive retxs.
4 years ago
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.
4 years ago
Francisco
3067e81e67
fix check of pending UL bytes
4 years ago
Francisco
bb96625129
renaming lch_manager -> lch_ue_manager
4 years ago
Francisco
a348508072
simplified sched_ue pending DL bytes calculation API
4 years ago
Francisco
0ffea62411
Wrote logging functions for SCHED MAC CE/LCID allocations
4 years ago
Francisco
c1fb161004
Move sched lch_manager to separate file
4 years ago