Francisco Paisana
b589c0d184
sched,nr: ack/crc info included in nr_phy_test
3 years ago
Francisco Paisana
592d9332ba
sched,nr: add logic for allocation of RAR and Msg3 grants
3 years ago
Francisco Paisana
c9a5180a09
sched,nr: integrate NR scheduler in nr_phy_test
...
The scheduler can be activated via a command line flag
3 years ago
Francisco Paisana
660b66dbe3
sched,nr: add option to run phy nr test with real NR scheduler
3 years ago
Francisco Paisana
e6683b7387
sched,nr: simplify scheduler threading architecture to reflect the new cc-based parallelism model
3 years ago
Francisco Paisana
74d0a8adb8
sched: add subband cqi info interface to LTE scheduler
3 years ago
Andre Puschmann
921a04ce65
enb,mac_nr: turn UE object into normal std::unique_ptr
3 years ago
Andre Puschmann
8d2e81ad6f
enb,mac,nr: add basic UE object skeleton
...
refactor that also adds a basic UE object to the NR MAC
3 years ago
Francisco Paisana
09c7000201
sched,nr: update nr scheduler to use new mac nr interface types
3 years ago
Francisco Paisana
8a34a3c41a
sched,nr: fix compilation issues in centos7 and removed unused variables
3 years ago
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
3 years ago
Francisco Paisana
1535e6b205
sched,nr: extend sched nr testing suite. restrict paralllelization for correct DAI generation
3 years ago
Francisco Paisana
323703c2f3
sched,nr: measure latency of sched nr in test
3 years ago
Francisco Paisana
d63ea00a5d
sched,nr: use PRBs instead of RBGs as the basic unit for PRB grants in the NR scheduler
3 years ago
Francisco Paisana
b81cbd1334
sched,nr: redesign the order available search spaces/coresets are found in the scheduler
3 years ago
Francisco Paisana
dd3c9b4d7e
sched,nr: utilization of common bwp params structure across multiple sched objects
3 years ago
Francisco Paisana
2db8b8d876
sched,nr: add RAR scheduler inspired in LTE one
3 years ago
Francisco Paisana
4f0b954cde
sched,nr: changed scheduler nr api to not require slot_indication function
3 years ago
Francisco Paisana
23afc66a86
sched,nr: implementation of PUCCH HARQ allocation in NR
3 years ago
Francisco Paisana
bcc374c2cd
implement TDD DL vs UL slot activation
3 years ago
Francisco Paisana
f87f898641
sched,nr: extend coreset pdcch allocation to UL
3 years ago
Ismael Gomez
1fd9d4300c
Move pdu buffer mutex in mac::ue to each carrier buffer map
3 years ago
Xavier Arteaga
b25681f9de
gnb,prach: add PRACH to gNB
...
rebase of Xavier's feature_gnb_prach branch
3 years ago
Andre Puschmann
8dd7075d12
enb,stack: add NR components for NSA mode
...
adds the main NR components for RLC, PDCP, MAC and RRC
for NSA operation.
3 years ago
Andre Puschmann
19996a4059
sched_nr: fix compilation
3 years ago
Xavier Arteaga
5307fec2f0
Added GNB MAC UL info initial interface and fix PHY implementation
3 years ago
Ismael Gomez
c0fd64c4e6
Fix data races in srsENB MAC
3 years ago
Francisco
4c316aa9ea
sched,nr: integrate mac-phy interface types into the scheduler
3 years ago
Francisco
5b3c5ded63
sched,nr: implement NR PDCCH allocation algorithm
3 years ago
Xavier Arteaga
8378c85ec4
Refactored gNb PHY
3 years ago
Xavier Arteaga
d49734b1bc
SRSENB: Refactor to accomodate 5G NR
3 years ago
Francisco
de05e1e549
sched,nr: fix invalid memory write
3 years ago
Francisco
75153c7c83
sched,nr: implementation of sched sim test class
3 years ago
Francisco
f1b3cfc764
sched,nr: implementation of sched NR harq retxs. Refactor of rb grid classes.
3 years ago
Francisco
d950433cbd
sched,nr: fix time-domain parallelization sched nr test. creation of util class to handle acquisition of boolean resources
3 years ago
Francisco
35a236b1b9
sched,nr: fix sched_nr_test. Resolve data race issues. Created new config structs used across the scheduler.
3 years ago
Francisco
407da794e1
sched,nr: implementation of slot grid class
3 years ago
Francisco
4fa27f3841
sched,nr: implementation of main classes for NR scheduler, and basic test for concurrency
3 years ago
Francisco
78acf81cf0
bugfix,sched: avoid instability in TPCs around PHR~0
3 years ago
Ismael Gomez
02ec4dd3d0
Remove unused variable
3 years ago
Ismael Gomez
dd9889e07c
Add carrier index to uplink PCAP captures
3 years ago
Francisco
5a82a63bb5
bugfix,srsenb: fix intraenb handover softbuffer allocation during handover
3 years ago
Francisco
d5234b5f65
sched,bugfix: avoid using UL SNR average in tpc control loop
3 years ago
Francisco
e8983b88f0
refactor: use enb_cc_idx instead of ue_cc_idx in mac::ue
3 years ago
Andre Puschmann
f65faba756
sched_harq: fix uninitialized values in HARQ
...
detected with Valgrind memcheck
3 years ago
Francisco
7e77da6a15
mac,optimization: use rnti memory pool to create mac::ue objects
3 years ago
Francisco
fd1d73666c
bugfix,srsenb,mac: avoid sanity check for UL PDU length if CRC=KO
3 years ago
Francisco
76004a3054
enb,mac,refactor: mac::ue now uses byte_buffer_pool for UL PDUs
3 years ago
Francisco
9e2a7d4592
bugfix,tpc: only cap PUSCH TPC when PHR is negative. I also extended TPC unit test
3 years ago
Francisco
bdc4362475
bugfix,tpc: place a cap on TPC due to PHR only when TPC is positive
3 years ago
Francisco
7badfb1c88
bugfix: avoid multiple TPC=0 for a single PHR<0
3 years ago
Francisco
e2c37ad513
bugfix: missing early return in TPC derivation
3 years ago
Andre Puschmann
c0be8187c8
rlc interface: convert entire read_pdu() interface to return uint32_t
...
we had it returning int but had a bug in using the return value properly,
i.e. handling when -1 was returned in RLC TM.
Thinking about it more, it doesn't make sense to have a negative return
value here anyway. Either the RLC can return a PDU or not. If it can't the
returned lenght is zero.
3 years ago
Francisco
ceaef3523f
sched,feature: Enable setting the target PHR below which the maximum UL grant size starts decreasing
3 years ago
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
3 years ago
Francisco
f7aef3ffc1
sched,bugfix: fix nof_retx update when UL HARQs are resumed
3 years ago
Francisco
89406b07d6
make eNB UL SNR initial value an exponential average alpha configurable
3 years ago
Francisco
2cdda3b6db
sched,enhancement: allow PUSCH allocations when PHICH falls in measurement Gap by resuming UL HARQ
3 years ago
Francisco
200006c4b7
bugfix,scheduler: avoid offset to increase decrease unboundedly when mcs is equal to 0 or max_mcs
3 years ago
Francisco
7076dbfef8
feature, scheduler: Add configuration parameter to set minimum TTI interval between TPCs
4 years ago
Francisco
4627ae9802
bugfix, scheduler: effectively disable adaptive mcs when target bler is unspecified
4 years ago
Francisco
dedd9c09a7
feature, scheduler: Add abitility to set minimum aggregation level in PDCCH, and disable adaptive aggregation level based on target BLER
4 years ago
Francisco
c5029fc266
feature - implement adaptive link adaptation in DL and UL
4 years ago
Francisco
a17e3b71e7
set minimum snr under which the UL SNR estimate is not updated
4 years ago
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
4 years ago
yagoda
f90f6f0c7e
adding MAC 0 padding support
4 years ago
Francisco
0e0835a805
move scheduler rbg/prb/cce mask and interval types and associated helper functions to a separate file
4 years ago
Francisco
4d3ff0d139
implementation of basic search for optimal rbgmask for subband CQI
4 years ago
Francisco
f8b6eae2bf
use of min DL cqi across all PRBS to compute required DL PRBs
4 years ago
Francisco
8564996eaf
fix sched_dl_cqi method to compute cqi-optimal rbgmask
4 years ago
Francisco
485c6ee129
subband CQI feature - add K parameter in sched_interface::ue_cfg_t and update it from RRC
4 years ago
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
4 years ago
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
4 years ago
Francisco
28c24a89ef
sched subband cqi - create method to get cqi-optimal RBG mask
4 years ago
Francisco
eeb8ad6571
sched,feature - creation of sched_cqi class to manage the update of CQI in a subband CQI setting
4 years ago
Francisco
b54bb35343
use rnti_map_t in scheduler
4 years ago
Francisco
1677abce8d
create typedef for circular map of rntis. check return of gtpu ue creation
4 years ago
Francisco
b619a2b649
application of new cache allocator to deques in scheduler
4 years ago
Francisco
04ded030ea
srsenb,bugfix - avoid logging error message when UE sends CRNTI MAC CE for old rnti whose context has already been erased.
4 years ago
Francisco
f7016633d2
sched, fix - avoid tpc commands when target pusch and pucch snr are not specified
4 years ago
Francisco
d3c51fdad4
limit minimum UL grant size to accommodate both BSR and RLC headers
4 years ago
Francisco Paisana
d39183419c
Separate TPC PUSCH and PUCCH target SINR ( #2740 )
...
* separate target pusch and pucch sinr configurations in tpc class and rr.conf
4 years ago
faluco
69726bc939
Remove two allocs in the prio queues in sched_time_pf.
4 years ago
faluco
7df308c756
Remove two mallocs in the stack:
...
1) Extend the small buffer to 64bytes for the move_callback class.
2) Replace a std::map for a fixed size circular map in sched_time_pf.
4 years ago
Francisco
b7d4a72ea1
adt - fix circular map clear() and erase(it) functions
4 years ago
Francisco
cdf72248f3
Reimplement batch-based background object/memory pool
...
Main changes:
- addition of pool utilities
- The node size/alignment and batch allocation threshold are now runtime arguments
- object pool and memory pool are not anymore based on the same class.
The object pool cannot use intrusive free list because it would overwrite the object
memory
4 years ago
Francisco
fbeb87c53e
remove unused parameters from mac::ue
4 years ago
Francisco
b004c2024d
integration of object pool in mac::ue for allocation of softbuffers. Definition of common object pool interface class
4 years ago
Francisco
8fda69a3dd
refactor mac::ue cc_used_buffers_map class to use new circular_map container
4 years ago
Pedro Alvarez
e1a852d4b8
Split split RLF timer and Inactivity timer
4 years ago
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.
4 years ago
Francisco
cc369aca1f
sched - handle the case when the CRC is missing and max retx is reached
4 years ago
Francisco
4869b14de3
application of new circular map to mac::ue_db
4 years ago
Codebot
4523ee6087
rename srsLTE to srsRAN
4 years ago
Ismael Gomez
8d2197e751
Increase MAC UE circular buffer
4 years ago
Francisco
2054ad3f3c
eliminate old BFS-based PDCCH allocator. Improvement the scheduler speed by ~2x
4 years ago
Francisco
6bec92fbc9
using new DFS-based PDCCH allocator as a default
4 years ago
Francisco
8347cabe4f
implemented a DFS-based PDCCH allocator
4 years ago
Francisco
fb48f4484c
sched refactor - removal or cleanup of unused sched methods
4 years ago
Francisco
137a21d6b2
sched refactor - use simple enum to represent allocation result. Refactored logging messages when allocation fails.
4 years ago