Commit Graph

49 Commits

Author SHA1 Message Date
Andre Puschmann 07d2bc4fe8 change license header to agnostic version with hint to root LICENSE file 2020-12-12 15:59:25 +01:00
Xavier Arteaga 6d3bf7089f SRSUE: use available carriers for inter-frequency measurement 2020-12-12 15:59:25 +01:00
Xavier Arteaga 959f37ae81 SRSUE: Renamed PHY scell_state to cell_state 2020-12-12 15:58:33 +01:00
Xavier Arteaga c5cb4d9984 SRSUE: Added time accurate SCell activation 2020-12-12 15:58:33 +01:00
faluco dfeed52514 - Rename out_stream function to console. 2020-09-29 17:38:13 +02:00
faluco 62faef7c71 - Replaced all uses of the log::console method. 2020-09-29 17:38:13 +02:00
Andre Puschmann 1afc137032
[REBASE] Make PHY non-blocking and fefactor HO procedure (#1753)
* Make PHY non-blocking and fefactor HO procedure

* makes entire PHY non-blocking through command interface
* adds dedicated queue for cell_search/cell_select commands
* refactor HO procedure to run faster, in one stack cycle. Looks closer to the specs
* force ue to always apply SIB2 configuration during reestablishment
* Run update_measurements in all workers

Co-authored-by: Ismael Gomez <ismagom@gmail.com>
2020-09-22 21:47:16 +02:00
Ismael Gomez 5968157ea5
Protect better the access to shared variables in phy_common and metrics (#1750) 2020-09-22 14:32:08 +02:00
Xavier Arteaga 52355024e7 SRSUE PHY: move mutex lock to cc worker and unlock for stack calls 2020-09-04 14:01:25 +02:00
Ismael Gomez 51521ad8e4 Improved PDCCH blind search and fixed a few issues with ambiguous DCI size with Release 10 2020-09-03 10:45:06 +02:00
Xavier Arteaga 09af743361 SRSUE: minor PHY modfifications 2020-07-28 09:31:34 +02:00
Xavier Arteaga 0192130742 SRSUE/SRSENB: UCI bits are carrier by the lowest serving cell index
SRSENB: Fix UCI in lowest serving cell index PUSCH transmission
2020-07-15 07:34:14 +02:00
Xavier Arteaga f04cf2090a Integrates number of samples in radio buffer
Fix minor issue

Radio: Fix minor bug and add unit test
2020-06-16 11:00:51 +02:00
Xavier Arteaga 89b24b54e5 Refactored radio class for acommodating multiple RF devices 2020-06-16 11:00:51 +02:00
Ismael Gomez 84b84eaad6 Move search_in_common variable 2020-06-03 17:23:42 +02:00
Ismael Gomez 9b634b8d2a Search DCI in UE space before common to avoid DCI size ambiguity. Fixes #1398 2020-06-03 17:23:42 +02:00
Xavier Arteaga 11a2d2cc4a Fix and tidy up time offset in srsue 2020-04-20 16:10:01 +02:00
Xavier Arteaga 198684ce32 SRSUE: all TA control logic into a single class and faster TA response 2020-04-10 15:57:41 +02:00
Xavier Arteaga 6d355ab61e SRSUE: Fix HO initial CFO 2020-04-02 13:52:23 +02:00
Ismael Gomez 95c6916987
Improve robustness in RF Overflow (#1124)
* Use task id to track old background tasks in RA procedure

* Improve robustness against RF overflow in PHY

* Increase SNR out-of-sync threshold

* Do not change frequency if it's the same

* Increase sync priority

* Increase time to start receiving to reduce input buffer occupation

* Use scoped lock in sf_worker
2020-03-25 16:56:32 +01:00
Ismael Gomez 7c7c83b9ad Address comments 2020-03-22 08:48:40 +01:00
Ismael Gomez fd3d4a7874 Refactor thread_pool: use std::mutex and fix some hidden potential bugs 2020-03-22 08:48:40 +01:00
Xavier Arteaga e832769ae6 Updated copyright 2020-03-16 11:26:06 +01:00
Xavier Arteaga 6c4e807141 SRSUE: fix signal ready issue 2020-03-13 14:01:58 +01:00
Ismael Gomez 4e12405fff
Remove radio_multi class and organize channels, ports and carrier buffers (#1019) 2020-03-06 15:26:48 +01:00
Ismael Gomez 72e6fa40fc Fix multiple issues with DCI sizes when using CA. 2020-02-17 11:21:34 +01:00
Andre Puschmann c7343cf6d8 protect sf_buffer from overrun in receive_samples
this patch adds a buffer len paramter to the receive_samples() call
that protects the (also) provided buffer from overflowing.

currently each call to srslte_ue_sync_zerocopy() which then calls receive_samples()
relies on a buffer that is "big enough". But that buffer is sometimes
2 subframes, sometimes 3 or 5, sometimes has space for the maximum PRB size, sometimes
only for 6 PRBs (i.e. during cell search).

By extending the interface to pass the buffer size we can make sure that
only samples are received that actually fit inside the provided buffer.
2020-02-07 10:21:30 +01:00
Ismael Gomez f2851b037e Fix concurrency issue in set_crnti() 2020-02-06 20:30:09 +01:00
Ismael Gomez 52716f8716 Process HO complete in the background to avoid heap-after-use bug when PHY measurements are reported during a HO
rrc_meas refactor. Need to split commit

Fix typo

Temporal commit

Apply rx_gain_offset to neighbour cell measurements

srsLTE: modify TESTASSERT Macro to follow codeline

SRSUE: prevent RRC from having serving cell in neighbour list

SRSUE: DL HARQ does not need Time Aligment Timer. UL is disabled using PUCCH resources release

SRSUE: extend intra-frequency to CA SCell

SRSUE: fix confusing/ambiguous code in the RRC measurements and fix concurrency issue

SRSUE: remove RRC measurement report triggers when measurements are modified or HO succesful

SRSUE: fix compilation issues and Reest SIB indexes

Fixes sync using incorrect cell configuration when search cell does not find a correct cell

Small refactor to remove measurement report triggers always after removing measurement

SRSUE: Removed SIC PSS from UE

SRSUE: fix inter-frequency reestablishment and added more traces

SRSUE: Fix compilation issue
2020-02-03 12:51:46 +01:00
Ismael Gomez 17f9ff326b Expose in-sync and out-of-sync constants to ue.conf 2020-01-29 11:46:55 +01:00
Xavier Arteaga d2c6dda025 SRSUE: Avoid sf_worker return without calling worker_end 2019-12-19 13:01:05 +01:00
Xavier Arteaga 384c420c7c SRSUE: fix phy workers concurrency issue 2019-12-19 13:01:05 +01:00
Andre Puschmann 3127f59b4c wait with init of GUI until cell is found and initialized
with the stack refactor we've introduced a regression in which
the GUI was started too early when no cell was found yet.

this caused the GUI to be initilized with only one Tx port. When connecting
to a cell with ports, the GUI plotter would then write
into unitialized memory.
2019-12-16 21:03:08 +01:00
Pedro Alvarez c5979f59eb Clang format UE, eNB and lib (#850)
* Clang-formated UE, eNB and lib.
* Fixed compiling errors from clang-format.
* Fix linking issues introduced by clang-format
* Fix poor formating in initializing arrays of arrays.
* Fix mistake in conflict resolution on rm_turbo.c
* Re-apply clang format to gtpc_ies.h
2019-12-16 16:04:22 +01:00
Xavier Arteaga 8dd1c59e18 Added amplitude and power conversions to dB and viceversa 2019-12-02 09:47:22 +01:00
Andre Puschmann 6f72cbffab fix snprintf of uint64 for ARM 2019-11-24 14:59:54 +01:00
Ismael Gomez 1d83bb08e2 Changes in ACK procedure to support CA. Tested 1 cell in SISO/MIMO 2019-10-14 11:20:35 +02:00
Xavier Arteaga efdec15964 Renamed lock_guard (lg) to lock 2019-10-02 11:03:03 +02:00
Xavier Arteaga 665f899a74 Fixed some coverity and Clang tidy warnings 2019-10-02 11:03:03 +02:00
Xavier Arteaga ef26bc7451 SRSUE: fixed prach TA correction 2019-09-30 14:50:11 +02:00
Ismael Gomez bfddc55148
RRC-PHY interface (#639)
RRC-PHY interface refactor. Moved RRC-MAC interface to rrc_asn1_utils and created RRC-PHY interface also in rrc_asn1_utils. All ASN1 includes should be made from rrc_asn1_utils only keeping ue_interfaces clean of ASN1

Tested with different common and dedicated configurations (64QAM UL, 256QAM, CA, SRS enabled/disabled, etc)
2019-09-04 16:59:10 +02:00
Andre Puschmann e0bd7f156d replace remaining warning macros with pragma message 2019-07-23 15:38:21 +02:00
Xavier Arteaga f653472aa8 SRSUE: SCell parameters condensed in a single structure 2019-07-19 18:10:23 +02:00
Xavier Arteaga b5685c8f09 SRSUE: Fixed HO with carrier aggregation 2019-07-19 18:10:23 +02:00
Xavier Arteaga 0b6efb657e SRSUE: CA can be performed without requiring clock synchronization between RF devices. Added Asynchronous SCell Synch metrics to console trace 2019-05-20 13:16:38 +02:00
Xavier Arteaga 080b4a327c SRSUE: Refactored asynchronous cell and ue_radio. CA Fixed. 2019-05-17 18:13:51 +02:00
Andre Puschmann 65f50cd7ba introduce new UE layer design
- abstract UE object now consists of a radio, a PHY, and a stack layer
- add new stack abstraction layer that combines MAC, RLC, RRC, PDCP, NAS and GW
- PHY layer now has a single stack interface and does not talk to MAC and RRC seperatly
2019-05-17 17:46:28 +02:00
Xavier Arteaga a1a797589a Added UE synchronization error metric (hard-coded disabled by default) 2019-04-30 15:02:08 +02:00
Ismael Gomez 7780b1aba5 add tdd/ca support 2019-04-25 20:57:58 +02:00