345 Commits (123ac1665396b656d656a61b7f669af9737b8378)

Author SHA1 Message Date
Xavier Arteaga f04cf2090a Integrates number of samples in radio buffer
Fix minor issue

Radio: Fix minor bug and add unit test
5 years ago
Xavier Arteaga 89b24b54e5 Refactored radio class for acommodating multiple RF devices 5 years ago
Francisco Paisana 0d38c33a60 rename ue phy nr class 5 years ago
Francisco Paisana 27e5d98ef9 added vnf phy nr 5 years ago
Xavier Arteaga ac0e347d94 SRSUE: refactored sync.cc and clean up 5 years ago
Xavier Arteaga dc927b745a SRSUE Removed async_scell_recv.h 5 years ago
faluco 7ff251f112 - Fixed warnings caught by Clang 9.0.0 5 years ago
Francisco Paisana 12b2ea7dde remove warnings for base classes with no virtual dtors 5 years ago
Andre Puschmann 1e0c8ead4c srsue,sync: fix TTI gap calculation and reporting
The current TTI gap calculation assumes strict continuity
of radio time stamps, even when retuning, changing sample rate, etc.

This is certainly desireble but not necessaritly the case and may cause
issues when negative time gaps or too large gaps are detected and reported
to the stack.

this patch makes the assumption that valid TTI jumps are between 1ms
and 1s and that larger gaps are the result of screwed time-stamps
or too long radio operations.
5 years ago
Xavier Arteaga 58803d1b3e Added UL EARFCN map and UE PHY interface cleanup 5 years ago
Xavier Arteaga 11a2d2cc4a Fix and tidy up time offset in srsue 5 years ago
Xavier Arteaga 198684ce32 SRSUE: all TA control logic into a single class and faster TA response 5 years ago
Xavier Arteaga 25312e81b4 SRSUE: cell select RRC MEAS CFO is carried to PHY Cell object 5 years ago
Xavier Arteaga e9813375eb SRSUE: set SNR threshold for MIB decoding 5 years ago
Xavier Arteaga 6d355ab61e SRSUE: Fix HO initial CFO 5 years ago
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
5 years ago
Xavier Arteaga e832769ae6 Updated copyright 5 years ago
Ismael Gomez e8b8c9922e
Add RF per-channel frequency band constraints (#1026) 5 years ago
Xavier Arteaga 76408b195e Rename TX_DELAY and FDD_HARQ_DELAY_MS 5 years ago
Xavier Arteaga e8f9bfc6ba Addition of PRACH TA correction 5 years ago
Ismael Gomez 4e12405fff
Remove radio_multi class and organize channels, ports and carrier buffers (#1019) 5 years ago
Andre Puschmann 664170fec6 pcap: add CC index when writing PCAP 5 years ago
Andre Puschmann a8bbe551ac move thread class into srslte namespace to avoid ambiguity between std::thread 5 years ago
Francisco Paisana 22f51bb30b made cell select non-blocking using background threads 5 years ago
Ismael Gomez 72e6fa40fc Fix multiple issues with DCI sizes when using CA. 5 years ago
Xavier Arteaga 6672f6df0f Minor aesthetic changes in intra measure class and changed scell_search test arguments 5 years ago
Xavier Arteaga 344016ef0a Refactored and commented SRSUE's Intra measure component 5 years ago
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.
5 years ago
Ismael Gomez f2851b037e Fix concurrency issue in set_crnti() 5 years ago
Xavier Arteaga f8294fb9df SRSUE: RRC measurements refactor and more fixes 5 years ago
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
5 years ago
Ismael Gomez 17f9ff326b Expose in-sync and out-of-sync constants to ue.conf 5 years ago
Xavier Arteaga c92dce71b7 srsLTE: AGC only uses boundaries for requesting gain to Radio 5 years ago
Xavier Arteaga 384c420c7c SRSUE: fix phy workers concurrency issue 5 years ago
Andre Puschmann 4a9e3728c9 add condtional variable for PHY initialization and configuration
adding a cond variable and mutex to protect init and (re-)config of PHY
currently this is only used during init. If the stack couldn't be
initialized but the PHY init thread was already started, we need to
properly wait until this is done
5 years ago
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.
5 years ago
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
5 years ago
Xavier Arteaga bcde542111 SRSUE: fix typo 5 years ago
Xavier Arteaga a8763cb7a0 SRSUE: Added Cell PCI in console trace 5 years ago
Xavier Arteaga d96836a0fa SRSUE: Stack TTI based purely in radio timestamp 5 years ago
Ismael Gomez 1d83bb08e2 Changes in ACK procedure to support CA. Tested 1 cell in SISO/MIMO 5 years ago
Xavier Arteaga efdec15964 Renamed lock_guard (lg) to lock 5 years ago
Xavier Arteaga 665f899a74 Fixed some coverity and Clang tidy warnings 5 years ago
Francisco Paisana e92632e729 zero-initialized mbms rrc interface types 5 years ago
Francisco Paisana fc9bb3c934 removed rrc asn1 header include from the ue_interfaces and phy 5 years ago
Andre Puschmann 2f47010eb6 fix various uninitialized vars 5 years ago
Xavier Arteaga 35f85c651c SRSUE: Added SCell synchronizer and measurements based on reference signals 5 years ago
Xavier Arteaga 8e17aba5d8 Improved SSS decoding and improved scell_search_test 5 years ago
Xavier Arteaga 54974d935e SRSUE PHY: unitialised values and attributes clean-tidy up 5 years ago
Xavier Arteaga 78fcc11a30 Fixes minor unitialised/leaked memory 5 years ago
Ismael Gomez 0984debe1b
Fix issues with RLF in B210 and X300 (#669)
* Calling tx_end() from radio_reset() causes long execution time in B210. Using boolean to call later instead. Fixes RLF failing in B210. Checked in X300

* Fix issue #655
5 years ago
Andre Puschmann 9e1c46dfb0 add initial TTCN3 code 5 years ago
Andre Puschmann 08ca9ebd4e write BCH to PCAP
this patch moves the BCH payload buffer into the UE sync object and
therefore allows to pass it to the MAC for PCAP logging
5 years ago
Xavier Arteaga 1a567a764e SRSUE: Call Radio tx-end when PHY is reseted and removed redundant attribute is_start_of_burst. 5 years ago
Andre Puschmann 513c7b12e3 remove warning and replace with pragma message 5 years ago
Ismael Gomez cbb1bbfaa1 Fix multiple PRACHs after SR fail and a minor issue in HO 5 years ago
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)
5 years ago
Xavier Arteaga f653472aa8 SRSUE: SCell parameters condensed in a single structure 6 years ago
Xavier Arteaga b5685c8f09 SRSUE: Fixed HO with carrier aggregation 6 years ago
Ismael Gomez feafec2725 Fix srsENB PHY log and reorganized expert args 6 years ago
Andre Puschmann 4e86b2f6b2 introduce layerd architecture we use for UE to eNB
- this allows flexible use of different PHYs and radios
- use common radio_multi (moved to lib)
6 years ago
Xavier Arteaga 5dcf3b3563 Fix phy memory leaks 6 years ago
Andre Puschmann 8333a9be57 fix dtor of PHY when stack init fails 6 years ago
Xavier Arteaga c7be984819 sync.h uses lock_guard for mutex 6 years ago
Xavier Arteaga 9068280896 SRSUE: Sync.h/.cc mutexes changed to C++11 std::mutex and fixed attributes initialisation 6 years ago
Xavier Arteaga 810ce0358e SRSUE: removed CLang tidy warnings in phy.h and phy.cc except unused. Use smaer pointers for workers. 6 years ago
Xavier Arteaga 1f4cf8121b SRSUE: Initial UL channel simulator 6 years ago
Xavier Arteaga ad9808c2aa SRSUE: SCell include files rearange 6 years ago
Xavier Arteaga ceac7a02c8 SRSUE: moved sync SCell classes in new namespace 6 years ago
Ismael Gomez 4ce8d84339 Restored force frequency 6 years ago
Andre Puschmann 0e95867f13 remove task dispatcher class 6 years ago
Xavier Arteaga 9c84f8e3fd SRSLTE: Added Uniform Random vector generator; Delay channel test; Fixed Delay channel SEGFAULT; SRSUE channel unique pointer; 6 years ago
Xavier Arteaga 9ab2b2de81 SRSUE: Created delay channel emulator and added fading to the UE 6 years ago
Andre Puschmann af8564e376 add ue_lte_phy_base and move logger out of UE class 6 years ago
Xavier Arteaga 0b6efb657e SRSUE: CA can be performed without requiring clock synchronization between RF devices. Added Asynchronous SCell Synch metrics to console trace 6 years ago
Xavier Arteaga 080b4a327c SRSUE: Refactored asynchronous cell and ue_radio. CA Fixed. 6 years ago
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
6 years ago
Andre Puschmann dc9df36a24 remove unused radio_multi code 6 years ago
Xavier Arteaga b037fb8e51 Added minimal UE synch tweak and fix 6 years ago
Xavier Arteaga a1a797589a Added UE synchronization error metric (hard-coded disabled by default) 6 years ago
Andre Puschmann 4b01a2e4a0 update copyright notice 6 years ago
Ismael Gomez 7780b1aba5 add tdd/ca support 6 years ago
Andre Puschmann 1cc6ae3c60 enable c++11 support 6 years ago
Xavier Arteaga c782ef2aa5 Solved unitialised values in UE (up to prach) and free 6 years ago
Francisco Paisana 0204db2e12 new asn1 rrc library 6 years ago
Andre Puschmann d34ecaaa5e adding RI to DL metrics 6 years ago
Ismael Gomez cfb3a43aed Lower priority of workers 6 years ago
Ismael Gomez 6a791f1416 Change TX mutex to semaphores (mutex implementation was violating lock ownership requirement) 6 years ago
Ismael Gomez aaeec591b6 Fix race condition in phy recv 6 years ago
Xavier Arteaga 5e4fb48184 Refactored CQI reporting logging in UE. Fixes #199 7 years ago
Xavier Arteaga 6ab69b1d4c Added PDSCH coworkers 7 years ago
Xavier Arteaga 31496ab44c srsue PUSCH, set mcs idx to previous if it is a retransmission 7 years ago
Andre Puschmann 61d525ea80 Merge branch 'next' into embms_merge_final 7 years ago
Ismael Gomez 467ba4e326 Average sampling offset estimate before adjusting timing to be more robust against EVA and ETU fading 7 years ago
Ismael Gomez f8655f3260 Changed the way we detect out-of-sync 7 years ago
yagoda e4c3f0bc30 adding mbms-gw and mch generation tables 7 years ago
yagoda e35672e234 adding PHY embms support to the UE 7 years ago
Ismael Gomez 81b69327b1 Added TA to metrics 7 years ago
Ismael Gomez 3ab74fb552 Exposed continuous TX mode to ue.conf 7 years ago
Ismael Gomez 74d6028769 Delay application of time_adv by 1 subframe 7 years ago
Ismael Gomez ab7a0842ba Send PRACH from worker thread with zero time advance 7 years ago
Ismael Gomez 9c7b3339be Get CRS-based RSRP estimate for in/out-sync measurement. New SNR estimation gives 0 SNR when cell signal is lost preventing from detecting out-of-sync 7 years ago
Ismael Gomez ff1269add3 HO working 7 years ago
Ismael Gomez edd9cbf4dc Merge branch 'next' into sync_states 7 years ago
David Rupprecht 06d4559294 Change include path absolut to project dir 7 years ago
David Rupprecht 9d71bec7b6 Unified include guards 7 years ago
Ismael Gomez b3be54b274 Attach and paging ok. Reselection on IDLE not working 7 years ago
Ismael Gomez 2c3386a486 Updated missing changes 7 years ago
Ismael Gomez f88f465c97 Refactored NAS/RRC/PHY cell_search/selection procedures 7 years ago
Ismael Gomez 548a4ae29d RRC is_connected return and srsgui crashing if ports=0 when init 7 years ago
Ismael Gomez 86d4ce52e0 Make intra-frequency measurement period/length a parameter 7 years ago
Ismael Gomez f9d770e50e Added option for Doppler frequency correction 7 years ago
Ismael Gomez c0aea5ae13 Neighbour cell RSRP measurement always and only with correlation method 7 years ago
Ismael Gomez 0fbeee72a1 Fixed offset int in previous commit 7 years ago
Ismael Gomez 809c550ca2 Use RS power estimation for serving cell RSRP/SNR measurements. Use correlation of RS sequences for neighbour cell verification of Cell ID 7 years ago
Ismael Gomez c2098ad626 Removed unused sample offset correction 7 years ago
Andre Puschmann cbda94f0a6 fix mem leak in phch_recv 7 years ago
Andre Puschmann 9553784e2f change phy_log in UE to log_filter 7 years ago
Ismael Gomez 13efa740e8 Changed logic in RRC/NAS/PHY for cell/plmn search to avoid stucking in IDLE 7 years ago
Ismael Gomez 90553e830d Fixed cell search for non-home PLMN 7 years ago
Ismael Gomez 91664ef2be Do sell reselection on IDLE by phch_recv thread instead of worker 7 years ago
Ismael Gomez 650f433532 Add mutex to worker_imp/set_cell worker 7 years ago
Ismael Gomez fd0c8168f0 Set to Continuous RX and TX 7 years ago
Ismael Gomez 0fcb065ae8 Disabled TX continuous and sleep on cell search 7 years ago
Ismael Gomez beccfd2919 Average RSRP in linear domain to get better resolution 7 years ago
Ismael Gomez 42ece73453 Changed cell selection/reselection to avoid stopping/restarting radio. Fixed SIB message search 7 years ago
Ismael Gomez 7c276318b2 Merge branch 'next' into raa 7 years ago
Xavier Arteaga 4df6227f5b UE stores last PMI and last RI in common phy 7 years ago
Ismael Gomez 09c5ddb730 Merge branch 'next' into raa 7 years ago
Ismael Gomez f6a17d1182 Logs to test snr drop issue 7 years ago
Ismael Gomez e59822f9a9 Fixed bug in previous commit 7 years ago
Ismael Gomez 62116bf1ae Revert "Logs to test snr drop issue"
This reverts commit 097005684a.
7 years ago
Ismael Gomez 65023f576e Merge branch 'test_snr' into raa 7 years ago
Ismael Gomez 79e59f1bf8 Missed headers in previous commit 7 years ago
Ismael Gomez 097005684a Logs to test snr drop issue 7 years ago
Ismael Gomez 2cf6f96f24 Fixes #6 AGC 7 years ago
Xavier Arteaga 0c2f0ac038 Fixed srsue freq_offset compensation for UL 7 years ago
Ismael Gomez a279ab47f0 Improved neighbour cell accuracy. Changed RRC to avoid segfault when neighbour cell addition 7 years ago
Ismael Gomez 348117df3c Recover on radio overflow 7 years ago
Ismael Gomez e2c3a304b7 In-sync and out-of-sync after 100 and 200 ms. Use RSRP -124 dBm as per the specs instead of SNR 7 years ago
Ismael Gomez d9560dc155 Fixed RSRP increasing with traffic 7 years ago
Ismael Gomez 7d633951a9 Improved srsUE stability when loosing signal and restoring it 7 years ago
Xavier Arteaga 373afcddc9 Added cross channels to srsue GUI 7 years ago
Xavier Arteaga 9ffdb1e62d Refactored PMI/CQI/RI reporting 7 years ago
yagoda 23afd44a7d modifications to enable phy lib logging 7 years ago
yagoda 1b1301101c adding support for phy(C level) logging to file 7 years ago
Ismael Gomez 6711387ad7 Disabled AGC for initial cell search. Copy CFO from search and disable CP based CFO after search to reduce overhead 7 years ago
Ismael Gomez 9355cd5732 Improved CFO loop. Fixed issue with sinusoid tolerance 7 years ago
Ismael Gomez 7e29430c81 remove unused function 7 years ago
Ismael Gomez 93a47df015 Fixed segfault when exit due to prach destructor 7 years ago
Ismael Gomez b0a2fa3b0b Merge branch 'enbmimo' into mob_crypto_mimo 7 years ago
Ismael Gomez e720568e82 Revert "Added UE Mode 3-1 aperiodic reporting"
This reverts commit 0bd683b3c4.
7 years ago
Xavier Arteaga 0bd683b3c4 Added UE Mode 3-1 aperiodic reporting 7 years ago
Ismael Gomez 48dfc08fa3 Fixed SIC for PSS using channel estimates, added option to disable it (not usable on synchronous same-site cells). Use PSS CE in SSS decoding 7 years ago
Ismael Gomez f3b1bc0e2d Look for multiple cells on each n_id_2 while cancelling the self interference 7 years ago
Ismael Gomez 8f39a622fe Added cancelation of self interference of PSS and SSS signals 7 years ago
Ismael Gomez 6b264732d2 Disabled subframe average 7 years ago
Ismael Gomez f1c6bcd252 Merge branch 'next' into mobility 7 years ago
Ismael Gomez dd8bacf466 Calibrated CFO loop default values 7 years ago
Ismael Gomez 3a0ab02264 S1/X2 handover tested and working 7 years ago
Ismael Gomez 8447c965e3 Fixing RSRP measurements 7 years ago
Ismael Gomez d428760b20 Merge branch 'next' into mobility 7 years ago
Ismael Gomez 408545dab8 X2 (constant NCC) working 7 years ago
Ismael Gomez 12d8b373c7 srsUE takes and reports intra-frequency measurements correctly 7 years ago
Ismael Gomez 49a621e193 removed last tti in adaptive retx. moved to phch_common 7 years ago
Ismael Gomez 058fbd7112 Fix adaptive retx in UE 7 years ago
Ismael Gomez 641eceb328 Merge branch 'next' into mobility 7 years ago
Xavier Arteaga 96a6d6ae9f Merge branch 'next' into enbmimo 7 years ago
Xavier Arteaga af669a6cbb Added RI reporting in enb and optimised RI computing calling time 7 years ago
Ismael Gomez 2f44e2bf3a Refactored cases mcs>29 for ul/dl 7 years ago
Ismael Gomez 177f36fc8c Improved cell reestablishment procedure timers (still not working the authentication) 7 years ago
Ismael Gomez c4c1c62360 stable connection. Runs out of samples in ringbuffer if clock differences 7 years ago
Ismael Gomez f4e883d24f Divided phch_recv in subclasses 7 years ago
Xavier Arteaga e8da7160f0 eNB transmits diversity by default if two cell ports are configured 7 years ago
Ismael Gomez fda886407b Added option to force the DL/UL frequency at the UE 7 years ago
Ismael Gomez c8dc3d1ad7 Merge branch 'next_with_variable_harq' into next_novolk 7 years ago
Ismael Gomez d6bdabfdc0 Changed all harq delays to variables 7 years ago
Ismael Gomez 3aabd83289 fixed blocked timers due to syncrhonization lost 7 years ago
Ismael Gomez b12d69b439 Set default TX mode to continuous and fixed uplink synchronization (radio set offset concurrent access) 7 years ago
Ismael Gomez bb9ff5fcc5 UE to recover from an sporadic loss of synchronization due to USRP overflow 7 years ago
Ismael Gomez 8fd4ba7486 added per-thread PHY logging 7 years ago
Ismael Gomez 4a86967530 Improved stability after radio link failure and radio transport error 7 years ago
Ismael Gomez 826667361e Reduced chances of uhd demuxer error. Reset device when it occurs 7 years ago
Xavier Arteaga 230eb63a97 Refactored grant: removed nof_tb from grant. Use tb_en instead. 7 years ago
Ismael Gomez 394d8f166a Improved initial CFO estimation for PRACH. Fixed bug in PDCCH after changing cell 7 years ago
Ismael Gomez f1bacd009a Reduced time to sync to cell 7 years ago
Ismael Gomez b0639ab394 resolved merge conflicts 7 years ago
Ismael Gomez 9ae21dfd5d reattaching cells with different IDs and PRB 7 years ago
Ismael Gomez e5feec1934 Temporal commit before merge. Changed sequence objects to avoid reallocating memory. new NAS/RRC working with initial attachment 7 years ago
Ismael Gomez fa9eaee498 new NAS/RRC structure. Attaching and ping working 8 years ago
Ismael Gomez 4b5cbafdb5 upgraded to new code restruct 8 years ago
Ismael Gomez 8a367bf825 changed srsue namespace to srslte for all common objects 8 years ago
Ismael Gomez e75daee148 renamed include paths for common objects 8 years ago
Andre Puschmann ff7400f140 remove unused header 8 years ago
Andre Puschmann 928ef71b82 adding remaining srsUE code 8 years ago