Commit Graph

3551 Commits

Author SHA1 Message Date
Xavier Arteaga dd26c6a90e Added more comments for better understanding in NR PDCCH DMRS 2021-04-12 17:05:53 +02:00
Xavier Arteaga 17a3c76540 Fix NR TDD pattern configuration 2021-04-12 17:05:53 +02:00
Xavier Arteaga c84e73541d Offset FFT window for UE DL NR 2021-04-12 17:05:53 +02:00
Xavier Arteaga f799ab6f94 Fix NR UL RV selection 2021-04-12 17:05:53 +02:00
Xavier Arteaga 42dcff45b2 Improve PDCCH NR detection 2021-04-12 17:05:53 +02:00
Xavier Arteaga 1a6e5cdee5 Demodulator sets LLR to zero for 0.0 symbols 2021-04-12 17:05:53 +02:00
Xavier Arteaga 3889f1369f Added partial NR time resource mapping tables 2021-04-12 17:05:53 +02:00
Xavier Arteaga de187d4c88 Fix copy-past issue in srsran_vec_apply_cfo_simd 2021-04-12 17:05:53 +02:00
Xavier Arteaga 2e3c00aa97 NR PDSCH zeroes RE around the DC. Added delay and CFO emulation to phy_dl_nr_test 2021-04-12 17:05:53 +02:00
Xavier Arteaga 667cc0b552 NR PDSCH/PUSCH DMRS estimation precompensates Synch error and CFO before interpolation 2021-04-12 17:05:53 +02:00
Francisco 685c971dc2 fix recursive call to get rb name 2021-04-12 13:21:43 +01: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 437db3af03 forbid allocations when dispatching task to thread pool 2021-04-10 15:03:38 +01:00
Andre Puschmann b991b07167 rlc: add length check for RLC PDU generation
makes sure that RLC doesn't generate a PDU larger than
the provided grant size
2021-04-10 14:01:43 +02:00
Andre Puschmann 8024bf7820 mux_nr: improve logging when building UL MAC PDU 2021-04-09 20:40:22 +02:00
Andre Puschmann 9950278a12 nr,mac_sch_pdu,mux: fix packing of MAC subPDUs with 16bit L field
the created RLC PDU was too large to fit inside the MAC grant
because only the header room for the short L field was used.

The patch determines the correct size before passing the opportunity to RLC.

It also improves logging in error case by using the MAC logger instead of
stderr/stdout when error occurs.
2021-04-09 20:12:03 +02:00
Francisco ff8a43f6b0 avoid allocation of dl_sched_list and ul_sched_t by converting a std::vector to bounded_vector 2021-04-09 15:38:07 +01:00
Francisco f1c67f5b2b pool - avoid concurrent batch allocations in background threads 2021-04-09 12:54:22 +01:00
Francisco 75e9700de0 rlc - usage of memory pool to allocate RLC bearers 2021-04-09 12:54:22 +01:00
Francisco 71f1f1b556 enb - log warning when rnti-specific memory block is full 2021-04-09 12:54:22 +01:00
Francisco a890a22ccd enb - rnti memory pool now fallbacks to new/delete if rnti-specific memory block is full 2021-04-09 12:54:22 +01:00
Francisco a780a6a7b6 fix obj pool interface 2021-04-09 12:54:22 +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
Andre Puschmann db496df1e6 mac_nr: add support for periodic BSR reporting
building on the previous refactor this patch now adds support
for peridoic BSR reporting (using short BSR). It furthermore does
the following changes:

* add BSR packing
* add proc_bsr_nr unit test
* move mac_nr test code into test folder under src (needs to be done with other test code too)
2021-04-09 12:28:05 +02:00
Andre Puschmann 6dd8c21073 mac_sch_pdu_nr: add unpacking of TA CE in DL-SCH
also add basic test to verify correct unpacking
2021-04-09 09:49:14 +02:00
Francisco dc763b5045 rlc am - fix bugs in buffered_pdcp_pdu_list
The count and container elements were not being correctly updated in the events
of SN overwrite, clear(), clear_pdcp_sdu(sn) of sn that doesnt exist
2021-04-08 20:11:15 +01:00
Francisco ebbb74e639 rlc am - use of circular_map container in RLC AM window
The window elements are not being correctly cleaned up when clear() is called
or when overwritten by newer SN. Furthermore, the window count member is not being
correctly updated when the insertion of a newer SN overwrites the previous one.

I used the circular_map container to avoid this sort of bugs
2021-04-08 20:11:15 +01:00
David Rupprecht 82c9636156 Refactor pdcp ctor seperate the configure function 2021-04-08 19:08:17 +02:00
David Rupprecht 56e947bf27 Added functionality for releasing a NR bearer 2021-04-08 17:37:36 +02:00
David Rupprecht cc6d8128ad Added gw interface if it is running 2021-04-08 17:37:36 +02:00
David Rupprecht 7a481c40ab Added mac prach nr proc error handling 2021-04-08 17:37:36 +02:00
David Rupprecht f9ea02b6bf Added functions for rrc reestablishing procedure if nr reconfig failes 2021-04-08 17:37:36 +02:00
Xavier Arteaga 58a9ef6e7f Minor NR PHY tweaks and aesthetic 2021-04-08 11:39:55 +02:00
Xavier Arteaga 991c6e7016 Refactored NR HARQ-ACK feedback enqueue 2021-04-08 11:39:55 +02:00
Xavier Arteaga bd11b66b6c Fix unitialised NR PHY arguments 2021-04-08 11:39:55 +02:00
Xavier Arteaga 22239b29c5 Disable smoothing filter for NR PDCCH DMRS 2021-04-08 11:39:55 +02:00
Xavier Arteaga 9f54c6ae6d Fix NR PUCCH info string and memory leak 2021-04-08 11:39:55 +02:00
Francisco b7d4a72ea1 adt - fix circular map clear() and erase(it) functions 2021-04-07 22:26:42 +01:00
Andre Puschmann 0fdcea2924 rlc_am: count every segment retx as a full retx for this SN
previously we were only counting retx if we retx the start of a segment.
this could lead to unwanted behaviour, i.e., not counting retx
correctly and thus not triggering the maxretx attempt, if the receive
always sends NACKs with a SO_start.

The RLC spec is not clear on how this should be handled correctly but
IMHO using an integer number of retx is reasonable, even for segments
that might be retransmitted more often.

The alternative of using a fractional retx counter that may be increamented
proportional to the segment size that is retx is another alternative
but considered too complex to implement (and test correctly).
2021-04-07 22:18:22 +02:00
Andre Puschmann c74661ae95 rlc_am: add log message when received NACK SN is already on retx queue 2021-04-07 22:18:22 +02:00
Francisco d02cc51e33 use mutex or atomic in running flag to signal the interruption of a thread 2021-04-07 16:11:31 +01:00
Xavier Arteaga 49731ab5a1 Initial NR-DCI refactor
Added NR DCI 1_1 size

Several DCI NR fixes
2021-04-07 16:57:12 +02:00
Xavier Arteaga 01990c2e1d SRSUE: Add PHY-MAC SR related interfaces 2021-04-07 14:16:46 +02:00
Xavier Arteaga 64acf03158 Fix sch_nr_test 2021-04-07 13:56:06 +02:00
Xavier Arteaga 1dcd75a6c7 Ignore CRC for RV!=0 in phy_dl_nr_test 2021-04-07 13:56:06 +02:00
Xavier Arteaga 3504bfcf5a Fix NR-SCH test 2021-04-07 13:56:06 +02:00
Xavier Arteaga 39e97cbcf4 Fix unbounded memory access 2021-04-07 13:56:06 +02:00
Xavier Arteaga 29c6adad93 Avoid unused LDPC memory in AVX2 decoder 2021-04-07 13:56:06 +02:00
Xavier Arteaga 392a8cc1b6 Fix LDPC RM number of useful iterations 2021-04-07 13:56:06 +02:00