Commit Graph

3860 Commits

Author SHA1 Message Date
Andre Puschmann 3966065bff pssch_test: fix newlines in printf 2021-06-01 16:17:11 +02:00
Andre Puschmann 2ace2b47b8 pssch: fix uninitialized value 2021-06-01 16:17:11 +02:00
Xavier Arteaga bbab2cd9ba Make PDCCH LLR mean amplitude in function of maximum 2021-06-01 15:04:24 +02:00
Xavier Arteaga 2ca0932d9b Reviewed LTE noise estimation 2021-06-01 08:26:36 +02:00
Xavier Arteaga 10a268fdba Added SNR to phy_dl_test 2021-06-01 08:26:36 +02:00
Francisco f36f5271d3 timers,feature: make timers thread-safe by using atomic to store timers state. 2021-05-31 23:26:36 +01:00
Xavier Arteaga dddb3ede71 Fix zero parity 2021-05-31 21:30:17 +02:00
Andre Puschmann 50f7fc644b rlc_am_lte: log event when status prohibit timer expires 2021-05-31 12:40:17 +02:00
Xavier Arteaga 3c93d5ba43 Fix carrier mapping concurrency issue 2021-05-31 10:48:17 +02:00
Xavier Arteaga 235a664120 SRSUE: Removed PUSCH-DMRS/SRS pregeneration methods 2021-05-31 10:48:17 +02:00
Andre Puschmann 531acc0a98 rlc_am_test: add check for RLC buffer state return during retx 2021-05-31 09:40:37 +02:00
Andre Puschmann 3102861ee3 rlc_am_lte: make func param const& 2021-05-31 09:40:37 +02:00
Francisco 0dafe4dd58 fix coderate derivation in PDCCH based on aggregation level 2021-05-28 17:20:08 +02:00
Francisco a587d20252 allow specification of subset of valid measurement gap offsets in rr.conf 2021-05-28 17:19:30 +02:00
Andre Puschmann 02cceee997 rf_zmq_imp: revert 28399dd876 and fix unit
although the manual test with Amarisoft eNB worked fine it seems
the delay is still needed in the default case. Over 50% of the
tests failed in the nightly with:

[zmq] Error: tx time is 0.067 ms in the past (138240 < 139776)
[zmq] Error: tx time is 1.100 ms in the past (184320 < 209664)

While this usleep() should increase the pass likelihood it
still doesn't guarantee error-free runs, so we might need
to revisit it again as some stage.
2021-05-28 09:27:13 +02:00
Andre Puschmann e7aa484308 rf_zmq_test: remove srsran.h include 2021-05-27 17:26:39 +02:00
Andre Puschmann bb6a5ebe80 tsan: add TSAN options file to set some default flags and exclude some libs from checks 2021-05-27 17:26:39 +02:00
Andre Puschmann 28399dd876 rf_zmq_imp: remove sleep 2021-05-27 17:26:39 +02:00
Andre Puschmann 574459fd90 rf: remove srsran.h include 2021-05-27 17:26:39 +02:00
Xavier Arteaga f33731ecd4 Disable irrelevant unit/component test by default 2021-05-27 16:06:17 +02:00
Andre Puschmann d9a5d3f95a pcap_base: increase PDU queue length
some systems with slower HDD seem to have issues
writing the PDUs to disk. increasing length to see if that helps.
2021-05-27 13:29:00 +02:00
Xavier Arteaga a245039cf3 Initial NR-PBCH-DMRS integration 2021-05-27 13:08:42 +02:00
Pedro Alvarez 997f7db23a Small fixes for observer.h missing std::size_t 2021-05-26 22:16:22 +02:00
Pedro Alvarez c74b2dd633 Fix some warnings in PHY due to array parameter mismatch for a few functions 2021-05-26 22:16:22 +02:00
Andre Puschmann c1ad867824 epoll_helper: use std::atomic to protect exit called from different thread 2021-05-26 14:25:38 +02:00
Andre Puschmann d8b2cfcef8 zmq,ringbuffer: protect concurrent access
some issue found through TSAN execution
2021-05-26 14:25:38 +02:00
Andre Puschmann f1e6a975de thread_pool: fix concurrent access of state variable
the thread workers need access to their current state to exit properly
when they are set to state STOP. However, since the state is kept in
a std::vector for all workers, it seems more appropiate to add a per-thread
running variable rather then mutexing the entire vector.
2021-05-26 14:25:38 +02:00
Xavier Arteaga 48e0fc3c99 Implemented initial PBCH decoder and refactored SSB candidate selection 2021-05-26 14:19:34 +02:00
Xavier Arteaga de1b25558f Added PRN sequence apply bit with state 2021-05-26 14:19:34 +02:00
Xavier Arteaga 1f38817b3b Added random bit vector generator 2021-05-26 14:19:34 +02:00
Xavier Arteaga bcb91d6173 srsran_vec_sprint_hex returns number of written characters 2021-05-26 14:19:34 +02:00
Xavier Arteaga 3634e96c3e Added SSB measure test add/put/encode time measure 2021-05-26 14:19:34 +02:00
Xavier Arteaga 0aa5b14145 Initial NR PBCH encoding 2021-05-26 14:19:34 +02:00
Xavier Arteaga d66dac0ab2 Added bit sequence state apply 2021-05-26 14:19:34 +02:00
Francisco 7076dbfef8 feature, scheduler: Add configuration parameter to set minimum TTI interval between TPCs 2021-05-25 21:51:10 +02:00
Francisco dedd9c09a7 feature, scheduler: Add abitility to set minimum aggregation level in PDCCH, and disable adaptive aggregation level based on target BLER 2021-05-25 21:50:56 +02:00
Francisco c5029fc266 feature - implement adaptive link adaptation in DL and UL 2021-05-24 19:33:27 +02:00
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 2021-05-24 17:25:07 +02:00
Francisco 31936c9754 bugfix - printf formatting incorrect in bounded_bitset method 2021-05-24 17:24:50 +02:00
Francisco b093576634 avoid sending UEContextReleaseRequest from Source eNB during S1 Handover. 2021-05-24 17:24:31 +02:00
Francisco f2a56c9139 simplification of multiqueue design.
- the consumer does multi-staged waiting:
  1. spins first across all queues in a RR fashion
  2. each queue access is done with a try_lock.
  3. if the try_lock fails, it increases the number of spins needed
  2. if no queue had data, the consumer sleeps for 100 usec.
- no differentiation between queues, in terms of notification features
2021-05-24 17:24:12 +02:00
Francisco 60a8ee0af9 multiqueue optimization - use condition_var wait_for() method, use queue try_lock in the consumer side 2021-05-24 17:24:12 +02:00
Francisco b41aba2a03 fix task scheduler test 2021-05-24 17:24:12 +02:00
Francisco 2d6a878826 change interface to create multiqueue queues 2021-05-24 17:24:12 +02:00
Francisco f705735093 optimization - only allow some multiqueue queues to notify the multiqueue consumer of the arrival of tasks 2021-05-24 17:24:12 +02:00
Andre Puschmann bc3be73364 rlc_am_lte: replace simple sanitfy check with error log with expect
this should help debugging the situation when this happens by
aborting when STOP_ON_WARNING is enabled
2021-05-20 23:19:17 +02:00
yagoda 9501283c1c fixing support for extended Cyclic Prefix
small cosmetic fixes of CP code
2021-05-20 18:16:15 +02:00
Andre Puschmann 21b3635ae4 rlc_am_lte: refactor retransmit_pdu() to send different SNs
it seems that different SNs should be retransmitted depending
on the actual situation. In case of pollRetx timer expiration,
vt_s - 1 should actually be resent.

This patch prepares the function to accept different SNs but
leaves it to send vt_a by default. The RLC AM test would need
to changed as well to not fail.
2021-05-20 13:41:07 +02:00
Andre Puschmann 81c1851bbd rlc_am_test: fix TSAN isses and removing info log when dropping PDU 2021-05-20 13:41:07 +02:00
yagoda f90f6f0c7e adding MAC 0 padding support 2021-05-20 10:26:50 +02:00
Xavier Arteaga 8ffbf0ff6d Fix SSB segfault 2021-05-18 18:41:03 +02:00
Xavier Arteaga f9aafd00a7 Added subcarrier spacing parsing from string 2021-05-18 18:41:03 +02:00
Xavier Arteaga b69057b76e Filesource filename to constant 2021-05-18 18:41:03 +02:00
Xavier Arteaga 5eadc06dd4 Intra-frequency miscellanous changes 2021-05-18 18:41:03 +02:00
Xavier Arteaga 7b159563ab Fixes in LTE CRS measurements 2021-05-18 18:41:03 +02:00
Xavier Arteaga 1603580901 Fix NR PSS correlation 2021-05-18 18:41:03 +02:00
Xavier Arteaga 0b3f4e5de0 Improvements in NR cell search 2021-05-18 18:41:03 +02:00
Xavier Arteaga 53b2c6076b Fix UHD subdev specification 2021-05-18 18:41:03 +02:00
Xavier Arteaga 11d925c0b2 Minor SSB fix and changes 2021-05-18 18:41:03 +02:00
Xavier Arteaga c8cb128317 Declare band helper methods as constant 2021-05-18 18:41:03 +02:00
Xavier Arteaga 60015e7ceb Made intra frequency cell search and measurment generic 2021-05-18 18:41:03 +02:00
Xavier Arteaga 648f0af437 Implement SSB search based on correlation 2021-05-18 18:41:03 +02:00
faluco 6fb81c7619 - Add a mutex with priority inheritance for srslog internal structures.
- Replace shared_variable members in log_channel class in favor of atomics.
- Remove the small string optimization in srslog now that we dont allocate anymore.
- Trim some critical sections in srslog.
2021-05-18 09:28:03 +02:00
Francisco 1488606156 refactor - create s1ap dedicated folder 2021-05-17 15:32:57 +01:00
Andre Puschmann 167200f5cd rrc_bearer_cfg: replace fixed E-RAB to DRB mapping
also make sure we don't assign LCIDs beyond the possible
number.

possible fix for https://github.com/srsran/srsRAN/issues/658

Co-authored-by: herlesupreeth <herlesupreeth@gmail.com>
Co-authored-by: Francisco <francisco.paisana@softwareradiosystems.com>
2021-05-17 15:17:27 +02:00
Francisco fa34aaa16e ensure the DL mask count is reduced enough to fit required bytes 2021-05-14 19:58:03 +01:00
Francisco 485c6ee129 subband CQI feature - add K parameter in sched_interface::ue_cfg_t and update it from RRC 2021-05-14 19:58:03 +01:00
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
2021-05-14 19:58:03 +01:00
Francisco a841b7580e fix deadlock caused by non-notification of multiqueue consumer side 2021-05-13 16:48:17 +01:00
Xavier Arteaga 9e1a85afe8 Fix NR SCH Nref calculation 2021-05-13 08:45:42 +02:00
Xavier Arteaga 0ecb3a7220 Modify NR PHY info messages 2021-05-13 08:45:42 +02:00
Xavier Arteaga 91030c5824 Fix procedure for MCS table selection 2021-05-13 08:45:42 +02:00
Xavier Arteaga b02a0d3db9 Added RNTI type short string 2021-05-13 08:45:42 +02:00
Xavier Arteaga 08ec1d0df9 Changed srsLTE to srsRAN 2021-05-13 07:55:46 +02:00
Xavier Arteaga a57336d64f Integrate periodic SSB measurement in SRSUE and fix related defects 2021-05-13 07:55:46 +02:00
Xavier Arteaga 5e41e99f08 Added NR symbol offset helper function 2021-05-13 07:55:46 +02:00
Xavier Arteaga 7450232b3e Added more NR band related helpers 2021-05-13 07:55:46 +02:00
Xavier Arteaga 758fd3c1ba Implemented initial NR cell search 2021-05-13 07:55:46 +02:00
Xavier Arteaga 2f9c7e1345 Avoid cexpf in srsran_vec_apply_cfo_simd 2021-05-13 07:55:46 +02:00
Xavier Arteaga 90c42bc9c3 Fix resampler stack overflow 2021-05-12 17:13:09 +02:00
Xavier Arteaga 9517b78c03 Fix resampler and improved unit test 2021-05-12 17:13:09 +02:00
Francisco 996d8ef74d multiqueue bugfix for non-blocking pushes when queue is full 2021-05-11 21:27:08 +02:00
Francisco 99abae9e6a fix multiqueue producer to consumer notification to avoid deadlocks 2021-05-10 15:27:21 +01:00
Francisco 0d800eb8f6 stack, multiqueue - bugfix for multiqueue destruction, and addition of unit test 2021-05-10 15:27:21 +01:00
Francisco d947e259c9 stack optimization - optimization of the multiqueue
avoid notifying the consumer side of the multiqueue of a new pushed object, if the
multiqueue already knows that the queue is not empty.
2021-05-10 15:27:21 +01:00
Francisco d574afcd33 cleanup of multiqueue unused methods, and made queue_handle move semantics correct 2021-05-10 15:27:21 +01:00
Francisco ef9d1b8c13 stack optimization - reduction of contention in multiqueue class
With the new design, each queue created in the multiqueue object has its own mutex.
Pushing tasks to separate queues will, therefore, not cause contention.
There will be, however, still contention between the popping thread and the pushing threads.
2021-05-10 15:27:21 +01:00
Xavier Arteaga d9586015f5 SSB related minor aesthetical corrections 2021-05-10 15:32:46 +02:00
Xavier Arteaga 60d1708b80 Initial SSB measurement implementation 2021-05-10 15:32:46 +02:00
Xavier Arteaga 5c31f4335f Initial SSB module header file 2021-05-10 15:32:46 +02:00
Xavier Arteaga 3f078cdc24 Added SSB related constants 2021-05-10 15:32:46 +02:00
Francisco b54bb35343 use rnti_map_t in scheduler 2021-05-07 10:58:04 +01:00
Xavier Arteaga 1396c2a1e2 Mulpiple CSI measurement fixes. Channel and sync metrics from CSI measurements 2021-05-07 09:43:11 +02:00
Xavier Arteaga fd0d804321 Added macro for calculating the squared absolute value of a complex variable 2021-05-07 09:43:11 +02:00
Xavier Arteaga e68c822505 NR Added CSI measurement channel processing 2021-05-07 09:43:11 +02:00
Xavier Arteaga c51ff0c9f9 Added safe exponential moving average filter 2021-05-07 09:43:11 +02:00
Francisco c5396155ad set default gtpu tunnel close timeout to infinity 2021-05-06 18:07:20 +01:00
Francisco 15484e9472 rrc - make t304 configurable via rr.conf 2021-05-06 18:07:20 +01:00
Francisco c6b9c12ba2 gtpu, feature - added the ability to configure gtpu indirect tunnel timeout value. This parameter is useful in the case that the end marker is not received 2021-05-06 18:07:20 +01:00
Francisco cd51537234 add comment explaining the use case of cached_alloc 2021-05-06 18:06:10 +01:00