Xavier Arteaga
e832769ae6
Updated copyright
2020-03-16 11:26:06 +01:00
Ismael Gomez
e8b8c9922e
Add RF per-channel frequency band constraints ( #1026 )
2020-03-12 23:06:09 +01:00
Xavier Arteaga
76408b195e
Rename TX_DELAY and FDD_HARQ_DELAY_MS
2020-03-11 21:16:36 +01:00
Xavier Arteaga
e8f9bfc6ba
Addition of PRACH TA correction
2020-03-11 16:25:56 +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
Andre Puschmann
664170fec6
pcap: add CC index when writing PCAP
2020-03-05 20:46:14 +01:00
Andre Puschmann
a8bbe551ac
move thread class into srslte namespace to avoid ambiguity between std::thread
2020-03-03 16:22:04 +01:00
Francisco Paisana
22f51bb30b
made cell select non-blocking using background threads
2020-02-18 09:47:33 +01:00
Ismael Gomez
72e6fa40fc
Fix multiple issues with DCI sizes when using CA.
2020-02-17 11:21:34 +01:00
Xavier Arteaga
6672f6df0f
Minor aesthetic changes in intra measure class and changed scell_search test arguments
2020-02-13 14:25:00 +01:00
Xavier Arteaga
344016ef0a
Refactored and commented SRSUE's Intra measure component
2020-02-13 14:25:00 +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
Xavier Arteaga
f8294fb9df
SRSUE: RRC measurements refactor and more fixes
2020-02-03 12:51:46 +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
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