Commit Graph

364 Commits

Author SHA1 Message Date
Ismael Gomez 17f9ff326b Expose in-sync and out-of-sync constants to ue.conf 2020-01-29 11:46:55 +01:00
Xavier Arteaga c92dce71b7 srsLTE: AGC only uses boundaries for requesting gain to Radio 2019-12-23 22:57:37 +01:00
Xavier Arteaga 384c420c7c SRSUE: fix phy workers concurrency issue 2019-12-19 13:01:05 +01:00
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
2019-12-18 11:25:36 +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 bcde542111 SRSUE: fix typo 2019-12-12 12:04:36 +01:00
Xavier Arteaga a8763cb7a0 SRSUE: Added Cell PCI in console trace 2019-12-04 15:30:07 +01:00
Xavier Arteaga d96836a0fa SRSUE: Stack TTI based purely in radio timestamp 2019-12-04 15:29:43 +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
Francisco Paisana e92632e729 zero-initialized mbms rrc interface types 2019-09-30 21:05:32 +02:00
Francisco Paisana fc9bb3c934 removed rrc asn1 header include from the ue_interfaces and phy 2019-09-30 21:05:32 +02:00
Andre Puschmann 2f47010eb6 fix various uninitialized vars 2019-09-24 13:23:30 +02:00
Xavier Arteaga 35f85c651c SRSUE: Added SCell synchronizer and measurements based on reference signals 2019-09-20 16:20:31 +02:00
Xavier Arteaga 8e17aba5d8 Improved SSS decoding and improved scell_search_test 2019-09-20 16:20:31 +02:00
Xavier Arteaga 54974d935e SRSUE PHY: unitialised values and attributes clean-tidy up 2019-09-20 16:03:37 +02:00
Xavier Arteaga 78fcc11a30 Fixes minor unitialised/leaked memory 2019-09-20 16:03:37 +02:00
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
2019-09-20 15:41:16 +02:00
Andre Puschmann 9e1c46dfb0 add initial TTCN3 code 2019-09-17 21:56:47 +02:00
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
2019-09-17 21:56:06 +02:00
Xavier Arteaga 1a567a764e SRSUE: Call Radio tx-end when PHY is reseted and removed redundant attribute is_start_of_burst. 2019-09-12 09:49:56 +02:00
Andre Puschmann 513c7b12e3 remove warning and replace with pragma message 2019-09-09 17:28:53 +02:00
Ismael Gomez cbb1bbfaa1 Fix multiple PRACHs after SR fail and a minor issue in HO 2019-09-07 22:59:57 +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
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
Ismael Gomez feafec2725 Fix srsENB PHY log and reorganized expert args 2019-07-17 12:40:57 +02:00
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)
2019-07-12 04:17:56 +02:00
Xavier Arteaga 5dcf3b3563 Fix phy memory leaks 2019-07-08 17:13:32 +02:00
Andre Puschmann 8333a9be57 fix dtor of PHY when stack init fails 2019-06-26 17:57:25 +02:00
Xavier Arteaga c7be984819 sync.h uses lock_guard for mutex 2019-06-19 11:49:55 +02:00
Xavier Arteaga 9068280896 SRSUE: Sync.h/.cc mutexes changed to C++11 std::mutex and fixed attributes initialisation 2019-06-19 11:49:55 +02:00
Xavier Arteaga 810ce0358e SRSUE: removed CLang tidy warnings in phy.h and phy.cc except unused. Use smaer pointers for workers. 2019-06-19 11:49:55 +02:00
Xavier Arteaga 1f4cf8121b SRSUE: Initial UL channel simulator 2019-06-11 12:06:11 +02:00
Xavier Arteaga ad9808c2aa SRSUE: SCell include files rearange 2019-06-11 10:34:49 +02:00
Xavier Arteaga ceac7a02c8 SRSUE: moved sync SCell classes in new namespace 2019-06-11 10:34:49 +02:00
Ismael Gomez 4ce8d84339 Restored force frequency 2019-06-05 15:29:48 +02:00
Andre Puschmann 0e95867f13 remove task dispatcher class 2019-06-03 15:03:20 +02:00
Xavier Arteaga 9c84f8e3fd SRSLTE: Added Uniform Random vector generator; Delay channel test; Fixed Delay channel SEGFAULT; SRSUE channel unique pointer; 2019-05-30 13:07:23 +02:00
Xavier Arteaga 9ab2b2de81 SRSUE: Created delay channel emulator and added fading to the UE 2019-05-30 13:07:23 +02:00
Andre Puschmann af8564e376 add ue_lte_phy_base and move logger out of UE class 2019-05-22 11:40: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
Andre Puschmann dc9df36a24 remove unused radio_multi code 2019-05-16 12:30:26 +02:00
Xavier Arteaga b037fb8e51 Added minimal UE synch tweak and fix 2019-04-30 15:06:05 +02:00
Xavier Arteaga a1a797589a Added UE synchronization error metric (hard-coded disabled by default) 2019-04-30 15:02:08 +02:00
Andre Puschmann 4b01a2e4a0 update copyright notice 2019-04-29 09:20:02 +02:00
Ismael Gomez 7780b1aba5 add tdd/ca support 2019-04-25 20:57:58 +02:00
Andre Puschmann 1cc6ae3c60 enable c++11 support 2019-03-11 13:31:43 +01:00
Xavier Arteaga c782ef2aa5 Solved unitialised values in UE (up to prach) and free 2019-01-22 12:23:57 +01:00
Francisco Paisana 0204db2e12 new asn1 rrc library 2019-01-17 17:43:13 +01:00
Andre Puschmann d34ecaaa5e adding RI to DL metrics 2019-01-10 12:35:38 +01:00
Ismael Gomez cfb3a43aed Lower priority of workers 2018-09-26 14:30:39 +02:00
Ismael Gomez 6a791f1416 Change TX mutex to semaphores (mutex implementation was violating lock ownership requirement) 2018-09-06 15:22:37 +02:00
Ismael Gomez aaeec591b6 Fix race condition in phy recv 2018-08-14 19:50:03 +02:00
Xavier Arteaga 5e4fb48184 Refactored CQI reporting logging in UE. Fixes #199 2018-06-25 14:57:12 +02:00
Xavier Arteaga 6ab69b1d4c Added PDSCH coworkers 2018-06-06 16:59:00 +02:00
Xavier Arteaga 31496ab44c srsue PUSCH, set mcs idx to previous if it is a retransmission 2018-05-25 16:06:32 +02:00
Andre Puschmann 61d525ea80 Merge branch 'next' into embms_merge_final 2018-05-22 10:39:05 +02:00
Ismael Gomez 467ba4e326 Average sampling offset estimate before adjusting timing to be more robust against EVA and ETU fading 2018-05-21 23:00:57 +02:00
Ismael Gomez f8655f3260 Changed the way we detect out-of-sync 2018-05-18 18:55:23 +02:00
yagoda e4c3f0bc30 adding mbms-gw and mch generation tables 2018-05-15 17:27:10 +02:00
yagoda e35672e234 adding PHY embms support to the UE 2018-05-15 17:16:28 +02:00
Ismael Gomez 81b69327b1 Added TA to metrics 2018-05-10 21:49:00 -05:00
Ismael Gomez 3ab74fb552 Exposed continuous TX mode to ue.conf 2018-04-27 10:23:38 +02:00
Ismael Gomez 74d6028769 Delay application of time_adv by 1 subframe 2018-04-24 13:50:59 +02:00
Ismael Gomez ab7a0842ba Send PRACH from worker thread with zero time advance 2018-04-24 10:43:17 +02:00
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 2018-04-24 10:18:13 +02:00
Ismael Gomez ff1269add3 HO working 2018-04-11 15:37:27 +02:00
Ismael Gomez edd9cbf4dc Merge branch 'next' into sync_states 2018-04-10 09:35:21 +02:00
David Rupprecht 06d4559294 Change include path absolut to project dir 2018-04-01 18:08:24 +02:00
David Rupprecht 9d71bec7b6 Unified include guards 2018-03-31 19:04:04 +02:00
Ismael Gomez b3be54b274 Attach and paging ok. Reselection on IDLE not working 2018-03-21 10:46:24 +01:00
Ismael Gomez 2c3386a486 Updated missing changes 2018-03-20 15:09:32 +01:00
Ismael Gomez f88f465c97 Refactored NAS/RRC/PHY cell_search/selection procedures 2018-03-19 14:14:51 +01:00
Ismael Gomez 548a4ae29d RRC is_connected return and srsgui crashing if ports=0 when init 2018-03-16 11:23:37 +01:00
Ismael Gomez 86d4ce52e0 Make intra-frequency measurement period/length a parameter 2018-03-15 12:27:55 +01:00
Ismael Gomez f9d770e50e Added option for Doppler frequency correction 2018-03-14 17:30:55 +01:00
Ismael Gomez c0aea5ae13 Neighbour cell RSRP measurement always and only with correlation method 2018-03-14 10:23:41 +01:00
Ismael Gomez 0fbeee72a1 Fixed offset int in previous commit 2018-03-13 20:47:31 +01:00
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 2018-03-13 19:07:15 +01:00
Ismael Gomez c2098ad626 Removed unused sample offset correction 2018-03-13 18:52:21 +01:00
Andre Puschmann cbda94f0a6 fix mem leak in phch_recv 2018-03-08 22:04:58 +01:00
Andre Puschmann 9553784e2f change phy_log in UE to log_filter 2018-03-08 22:04:58 +01:00
Ismael Gomez 13efa740e8 Changed logic in RRC/NAS/PHY for cell/plmn search to avoid stucking in IDLE 2018-03-06 22:20:38 +01:00
Ismael Gomez 90553e830d Fixed cell search for non-home PLMN 2018-03-05 13:07:24 +01:00
Ismael Gomez 91664ef2be Do sell reselection on IDLE by phch_recv thread instead of worker 2018-03-04 11:55:58 +01:00
Ismael Gomez 650f433532 Add mutex to worker_imp/set_cell worker 2018-03-04 11:55:31 +01:00
Ismael Gomez fd0c8168f0 Set to Continuous RX and TX 2018-03-02 20:59:17 +01:00
Ismael Gomez 0fcb065ae8 Disabled TX continuous and sleep on cell search 2018-03-02 14:08:29 +01:00
Ismael Gomez beccfd2919 Average RSRP in linear domain to get better resolution 2018-02-25 23:36:08 +01:00
Ismael Gomez 42ece73453 Changed cell selection/reselection to avoid stopping/restarting radio. Fixed SIB message search 2018-02-24 21:33:13 +01:00
Ismael Gomez 7c276318b2 Merge branch 'next' into raa 2018-02-21 14:53:54 +01:00
Xavier Arteaga 4df6227f5b UE stores last PMI and last RI in common phy 2018-02-21 14:51:09 +01:00
Ismael Gomez 09c5ddb730 Merge branch 'next' into raa 2018-02-21 11:53:36 +01:00
Ismael Gomez f6a17d1182 Logs to test snr drop issue 2018-02-21 11:04:35 +01:00
Ismael Gomez e59822f9a9 Fixed bug in previous commit 2018-02-16 18:41:38 +01:00
Ismael Gomez 62116bf1ae Revert "Logs to test snr drop issue"
This reverts commit 097005684a.
2018-02-16 17:16:03 +01:00
Ismael Gomez 65023f576e Merge branch 'test_snr' into raa 2018-02-16 15:33:27 +01:00
Ismael Gomez 79e59f1bf8 Missed headers in previous commit 2018-02-16 15:25:53 +01:00
Ismael Gomez 097005684a Logs to test snr drop issue 2018-02-16 12:05:45 +01:00
Ismael Gomez 2cf6f96f24 Fixes #6 AGC 2018-02-13 15:06:22 +01:00
Xavier Arteaga 0c2f0ac038 Fixed srsue freq_offset compensation for UL 2018-02-07 18:36:06 +01:00
Ismael Gomez a279ab47f0 Improved neighbour cell accuracy. Changed RRC to avoid segfault when neighbour cell addition 2018-02-02 19:31:22 +01:00
Ismael Gomez 348117df3c Recover on radio overflow 2018-02-02 10:58:40 +01:00
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 2018-02-01 18:17:40 +01:00
Ismael Gomez d9560dc155 Fixed RSRP increasing with traffic 2018-01-30 18:23:51 +01:00
Ismael Gomez 7d633951a9 Improved srsUE stability when loosing signal and restoring it 2018-01-30 13:13:41 +01:00
Xavier Arteaga 373afcddc9 Added cross channels to srsue GUI 2018-01-18 17:14:04 +01:00
Xavier Arteaga 9ffdb1e62d Refactored PMI/CQI/RI reporting 2018-01-11 14:37:01 +01:00
yagoda 23afd44a7d modifications to enable phy lib logging 2017-12-20 14:57:22 +00:00
yagoda 1b1301101c adding support for phy(C level) logging to file 2017-12-18 19:04:47 +00:00
Ismael Gomez 6711387ad7 Disabled AGC for initial cell search. Copy CFO from search and disable CP based CFO after search to reduce overhead 2017-12-17 23:05:28 +01:00
Ismael Gomez 9355cd5732 Improved CFO loop. Fixed issue with sinusoid tolerance 2017-12-16 12:46:29 +01:00
Ismael Gomez 7e29430c81 remove unused function 2017-12-14 11:15:26 +01:00
Ismael Gomez 93a47df015 Fixed segfault when exit due to prach destructor 2017-12-04 15:00:23 -06:00
Ismael Gomez b0a2fa3b0b Merge branch 'enbmimo' into mob_crypto_mimo 2017-12-04 12:10:46 -06:00
Ismael Gomez e720568e82 Revert "Added UE Mode 3-1 aperiodic reporting"
This reverts commit 0bd683b3c4.
2017-12-04 12:08:02 -06:00
Xavier Arteaga 0bd683b3c4 Added UE Mode 3-1 aperiodic reporting 2017-12-04 11:58:23 -06:00
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 2017-12-03 22:13:07 -06:00
Ismael Gomez f3b1bc0e2d Look for multiple cells on each n_id_2 while cancelling the self interference 2017-12-02 12:02:01 +01:00
Ismael Gomez 8f39a622fe Added cancelation of self interference of PSS and SSS signals 2017-12-01 19:50:42 +01:00
Ismael Gomez 6b264732d2 Disabled subframe average 2017-12-01 11:25:27 +01:00
Ismael Gomez f1c6bcd252 Merge branch 'next' into mobility 2017-11-30 20:13:06 +01:00
Ismael Gomez dd8bacf466 Calibrated CFO loop default values 2017-11-30 20:01:35 +01:00
Ismael Gomez 3a0ab02264 S1/X2 handover tested and working 2017-11-27 13:57:05 +01:00
Ismael Gomez 8447c965e3 Fixing RSRP measurements 2017-11-25 10:40:53 +01:00
Ismael Gomez d428760b20 Merge branch 'next' into mobility 2017-11-24 12:02:41 +01:00
Ismael Gomez 408545dab8 X2 (constant NCC) working 2017-11-23 19:46:34 +01:00
Ismael Gomez 12d8b373c7 srsUE takes and reports intra-frequency measurements correctly 2017-11-20 10:02:39 +01:00
Ismael Gomez 49a621e193 removed last tti in adaptive retx. moved to phch_common 2017-11-14 13:44:47 +01:00
Ismael Gomez 058fbd7112 Fix adaptive retx in UE 2017-11-14 11:48:19 +01:00
Ismael Gomez 641eceb328 Merge branch 'next' into mobility 2017-11-07 17:13:57 -08:00
Xavier Arteaga 96a6d6ae9f Merge branch 'next' into enbmimo 2017-10-27 16:25:03 +02:00
Xavier Arteaga af669a6cbb Added RI reporting in enb and optimised RI computing calling time 2017-10-24 10:07:54 +02:00
Ismael Gomez 2f44e2bf3a Refactored cases mcs>29 for ul/dl 2017-10-19 16:13:50 -04:00
Ismael Gomez 177f36fc8c Improved cell reestablishment procedure timers (still not working the authentication) 2017-10-18 16:50:22 -04:00
Ismael Gomez c4c1c62360 stable connection. Runs out of samples in ringbuffer if clock differences 2017-10-13 17:59:12 +02:00
Ismael Gomez f4e883d24f Divided phch_recv in subclasses 2017-10-10 16:42:24 +02:00
Xavier Arteaga e8da7160f0 eNB transmits diversity by default if two cell ports are configured 2017-10-10 13:24:23 +02:00
Ismael Gomez fda886407b Added option to force the DL/UL frequency at the UE 2017-10-10 12:33:10 +02:00
Ismael Gomez c8dc3d1ad7 Merge branch 'next_with_variable_harq' into next_novolk 2017-10-04 18:30:10 +02:00
Ismael Gomez d6bdabfdc0 Changed all harq delays to variables 2017-09-29 20:38:12 +02:00
Ismael Gomez 3aabd83289 fixed blocked timers due to syncrhonization lost 2017-09-24 20:51:26 +02:00
Ismael Gomez b12d69b439 Set default TX mode to continuous and fixed uplink synchronization (radio set offset concurrent access) 2017-09-21 21:43:24 +02:00
Ismael Gomez bb9ff5fcc5 UE to recover from an sporadic loss of synchronization due to USRP overflow 2017-09-20 22:47:55 +02:00
Ismael Gomez 8fd4ba7486 added per-thread PHY logging 2017-09-20 19:57:43 +02:00
Ismael Gomez 4a86967530 Improved stability after radio link failure and radio transport error 2017-09-18 18:34:33 +02:00
Ismael Gomez 826667361e Reduced chances of uhd demuxer error. Reset device when it occurs 2017-09-15 17:49:31 +02:00
Xavier Arteaga 230eb63a97 Refactored grant: removed nof_tb from grant. Use tb_en instead. 2017-09-13 13:36:20 +02:00
Ismael Gomez 394d8f166a Improved initial CFO estimation for PRACH. Fixed bug in PDCCH after changing cell 2017-09-06 18:05:07 +02:00
Ismael Gomez f1bacd009a Reduced time to sync to cell 2017-09-06 16:28:26 +02:00
Ismael Gomez b0639ab394 resolved merge conflicts 2017-09-05 15:26:36 +02:00
Ismael Gomez 9ae21dfd5d reattaching cells with different IDs and PRB 2017-09-04 12:26:58 +02:00
Ismael Gomez e5feec1934 Temporal commit before merge. Changed sequence objects to avoid reallocating memory. new NAS/RRC working with initial attachment 2017-09-01 13:29:11 +02:00
Ismael Gomez fa9eaee498 new NAS/RRC structure. Attaching and ping working 2017-06-23 19:15:30 +02:00
Ismael Gomez 4b5cbafdb5 upgraded to new code restruct 2017-06-21 18:29:17 +02:00
Ismael Gomez 8a367bf825 changed srsue namespace to srslte for all common objects 2017-06-01 12:25:42 +02:00
Ismael Gomez e75daee148 renamed include paths for common objects 2017-05-31 23:39:17 +02:00
Andre Puschmann ff7400f140 remove unused header 2017-05-31 13:32:58 +02:00
Andre Puschmann 928ef71b82 adding remaining srsUE code 2017-05-30 15:50:48 +02:00