Ismael Gomez
a6423442c2
Refactor NR RA files and fix header includes all over library ( #2162 )
...
* Refactor NR resource allocation classes. Use DCI instead of grant for dummy PDSCH UE/eNB test
* Minor refactors in NR workers and ue_dl
* Fix include issues
* fix compilation issues
2021-01-20 15:46:46 +01:00
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>
2021-01-19 21:55:24 +01:00
Francisco Paisana
5391001c46
remove unused variable
2021-01-15 23:24:39 +01:00
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
2021-01-15 23:24:39 +01:00
Francisco Paisana
d0a17b0a40
created sched_ue_cell class that is indexed based on enb_cc_idx
2021-01-15 23:24:39 +01:00
Francisco Paisana
8b306c81e2
refactor tbs/mcs computation in sched
2021-01-15 11:36:59 +01:00
Francisco Paisana
32c47d4fac
change sched warning when it fails to fit srb0 data in grant to info
2021-01-15 11:36:59 +01:00
Francisco Paisana
1dd211c91c
fix log initialization in sched_helpers.cc
2021-01-15 11:36:59 +01:00
Francisco Paisana
afef5188a6
move sched_harq to subfolder
2021-01-15 11:36:59 +01:00
Francisco Paisana
233e604cfe
cleanup sched_ue, moving some unrelated functions to sched_helpers
2021-01-15 11:36:59 +01:00
Francisco Paisana
9c7c190074
when the rrc fails to allocate the ue cell resources, it should erase the ue from all stack layers
2021-01-15 00:10:42 +01:00
Francisco Paisana
0d9ff3ecc7
fixed RBG<->PRB conversion. Changed PHICH logging to be single line
2021-01-13 17:41:45 +01:00
Francisco Paisana
0761a8f08b
Add RLF-Report handling functions to srsENB
2021-01-12 20:40:39 +01:00
Francisco Paisana
434bdfca68
decoupled srsenb rrc ue mac controller from the rrc::ue class
2021-01-12 18:16:03 +01:00
Francisco Paisana
f8b7351e1b
implementation of object memory pool via class-specific operator new/delete
2021-01-12 16:22:10 +01:00
Francisco Paisana
8912a8ce6c
added extra comments to memory pool code. generalized object pool to mutexed and non-mutexed cases
2021-01-12 16:22:10 +01:00
Francisco Paisana
a73cbcdc9d
added mem_pool for growing object pools. Applied the mem pool to the rrc::ue creation
2021-01-12 16:22:10 +01:00
Francisco Paisana
bc8e65c82f
bug fix in the PF scheduler. The correct history was not being stored for newtxs
2021-01-12 15:49:34 +01:00
Andre Puschmann
02b0f251aa
prach_worker: move variable to function body
...
the variable was only used inside the run_tti() function
and isn't needed elsewhere. refactor therefore.
2021-01-11 15:45:48 +01:00
Francisco Paisana
02d4dde1f5
issue 2170 fix: add extra check that UL harq is empty before allocating it
2021-01-11 15:36:12 +01:00
Francisco Paisana
ea8ad153c4
add configurable fairness parameter to pf scheduler
2021-01-11 11:56:13 +01:00
Francisco Paisana
2abe486e18
separate control loops for PUCCH and PUSCH TPC
2021-01-06 22:14:46 +01:00
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
2021-01-03 21:46:41 +01:00
Xavier Arteaga
b3200d9ef5
Renaming common UL/DL DMRS related types and initial NR PUSCH implementation
2020-12-30 13:39:08 +01:00
Ismael Gomez
6348ddefd5
Add option to run prach_worker in the caller thread instead of by a background worker. This is useful when running simulations with ZMQ, to avoid the prach worker to take too much time and miss the RAR deadline
2020-12-26 23:49:42 +01:00
Francisco Paisana
9de318c7e6
avoid allocating DL harqs when respective acks are still pending, when there is a reordering of ttis in the phy
2020-12-21 17:23:26 +01:00
faluco
92b11c1adb
Backport misc changes from the fapi repo.
2020-12-21 13:45:22 +01:00
Pedro Alvarez
0c20b7a455
Added support for S1AP modify bearer request support. This includes:
...
- Handle received E-RAB S1AP at s1ap.cc.
- Added methods to rrc.cc, rrc_ue.cc and rrc_bearer_cfg.cc to handle erab modify request.
- Made RLC add_bearer() function capable of re-creating the RLC entity.
- Send RRC reconfiguration to the UE and reply to the EPC with S1AP
modify bearer response.
This commit also adds support to srsEPC to send S1AP modify bearer request for
testing purposes.
2020-12-18 10:52:51 +00:00
Francisco Paisana
099dad8cb1
disable PHR handling in the UL sched by default
2020-12-17 17:56:42 +01:00
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
2020-12-16 13:49:29 +01:00
Ismael Gomez
0498439d41
Backport some changes from FAPI branch ( #2124 )
...
* Reorder DCI FORMAT enum
* Fix endianness issue
* Fix return codes in phy_ue_db
* Log members should be destructed after the layers.
* Add JSON metrics and Events. Add Alarm log channel. Simplify MAC metrics struct.
* Restore metrics_stdout change
2020-12-16 13:48:48 +01:00
Francisco Paisana
1304746bce
use of fmt lib in asn1 utils
2020-12-15 15:56:59 +01:00
Francisco Paisana
82eb31f70f
add rlc metrics to enb
2020-12-14 16:59:09 +01:00
faluco
343587b32d
Update NR classes after metrics interface changes.
2020-12-14 13:16:13 +01:00
faluco
f20b75a05f
Re-structure enb metrics a bit. Create a generic mac metric struct and per ue mac metrics struct.
2020-12-14 13:16:13 +01:00
faluco
5529943172
Add a per sector rach preable counter for the metrics.
2020-12-14 13:16:13 +01:00
Francisco
43e0a3209d
fill enb rrc metrics with drb info
2020-12-14 13:16:13 +01:00
faluco
dcd1157d39
- Prototype the extension of enb metrics.
2020-12-14 13:16:13 +01:00
Ismael Gomez
5d85307a98
Fix 256QAM reconfiguration
2020-12-12 15:59:27 +01:00
Ismael Gomez
a9673e3c53
Use number of configured cells before reconfiguration for DCI calculation
2020-12-12 15:59:27 +01:00
Ismael Gomez
e654062a7a
Do not stash all PHY configuration in eNB during reconfiguration. Stash only number of CC used by DCI
2020-12-12 15:59:27 +01:00
Pedro Alvarez
7eebd71627
Added S1AP E-RAB release command/response handling to srsENB.
...
Added the ability to srsEPC to send the E-RAB release command.
2020-12-12 15:59:27 +01:00
Francisco
cba0cc457f
sched rand test refactor: creation of abstract sched simulator class for testing
2020-12-12 15:59:27 +01:00
David Rupprecht
848496bb0f
Moved get_earfcn to srslte get_carrier_freq func
2020-12-12 15:59:27 +01:00
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
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
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
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