Commit Graph

367 Commits

Author SHA1 Message Date
Joaquim Broquetas 520128162e
Add CFR to srsue LTE UL (#3865)
lte,phy: Add CFR to srsue LTE UL

This commit adds the configuration steps needed to enable
and configure the CFR module for the srsue's uplink signal.
Parsing of the CFR manual threshold has been streamlined.
2022-03-07 17:05:33 +01:00
Francisco Paisana e4a15c9c51 rrc,gnb: move non-phy fields out of phy_cell_nr_t 2022-02-08 18:21:07 +01:00
Andre Puschmann 96ef1beaf2 srsue,phy,nr: only read metrics for NR rat 2022-02-01 20:38:06 +01:00
Xavier Arteaga 57b50edbe2 Fix initial buffer data and removed unimplemented method 2022-01-24 10:09:17 +01:00
Fabian Eckermann 12cc7cb4d7 Add support for RRC redirect. 2022-01-21 09:46:56 +01:00
Xavier Arteaga 0812a90d21 Removed unused attribute and fix end-of-burst in NR UE SA PHY 2022-01-19 18:33:39 +01:00
Xavier Arteaga d089653bd2 Fix concurrent access in UE NR PHY clear pending states 2022-01-19 18:33:39 +01:00
Ismael Gomez 89f910e79e srsue,phy: do not queue set_scell command in background if running from set_cells_to_meas comman 2022-01-13 22:01:23 +01:00
Xavier Arteaga d6ee282796 Created dummy radio and moved UE dummy PHY into real UE SA PHY 2022-01-12 10:27:33 +01:00
Xavier Arteaga a5130673f6 More cell search development 2022-01-12 10:27:33 +01:00
Xavier Arteaga 6c4c1ea155 NR UE PHY: interfaced fix wideband CQI reporting in nr_phy_test 2022-01-10 18:50:53 +01:00
Ismael Gomez 2d31e11144 ue,lte: update rx_gain_offset more frequently. Avoid calling UHD driver when getting rx_gain 2021-12-22 22:41:24 +01:00
Ismael Gomez 120ad5c72f ue: store new EARFCN in the foreground of cell_select to avoid race conditions with the other cmd_worker 2021-12-22 22:41:24 +01:00
Matan Perelman 0dff58613f srsUE: Add option to filter N_id_1 / SSS to configuration 2021-12-22 17:13:21 +01:00
Ismael Gomez 46f4be458a ue,sa: can sync and receive pbch successfully 2021-12-01 10:18:27 +01:00
Ismael Gomez 219bae4fd3 srsue,sa: dummy rrc_nr to initiate dummy cell_select and phy_cfg 2021-11-30 14:45:26 +01:00
Ismael Gomez c71ab70b83 Completed basic sync module with bypass camping. Removed ue_phy_nr and ue_phy_lte base classes 2021-11-30 14:45:26 +01:00
Ismael Gomez 6947f87bcb Add minimum NR SA logic in parent PHY class 2021-11-30 14:45:26 +01:00
Ismael Gomez fb897d2998 Refactor PHY interfaces to remove difference between SA and NSA PHY 2021-11-30 14:45:26 +01:00
Xavier Arteaga fb17e3326f More development in UE NR SA cell search 2021-11-30 14:45:26 +01:00
Xavier Arteaga 47b857db25 Initial gnb emulator 2021-11-30 14:45:26 +01:00
Xavier Arteaga b1bcc1a8c0 Initial UE NR SA PHY classes 2021-11-30 14:45:26 +01:00
faluco 91677a9dcb Fix data race in sync::state, the stop() did not acquire the required lock. 2021-10-25 20:30:57 +02:00
Xavier Arteaga ebab12403f
Asynchronous NR PHY configuration (#3527)
* Fix a race condition when accessing the NR PHY cfg by the RRC and phy workers.
Rework how the phy cfg is handled, now workers have their own copy that gets updated after a reconfig moving it out of the state class.

* Default initialize sf_len member in sf_worker for consistency.

* Asynchronous NR PHY configuration

* Fix compilation

* Corrected method override and fix unitialised value

* Added carrier equal comparison to avoid aligment byte padding comparison

Co-authored-by: faluco <borja.ferrer@softwareradiosystems.com>
2021-10-25 10:51:02 +02:00
faluco 5f93ff6ed0 Batch of data race fixes in the following classes: RLC AM, Intra measure, UL HARQ, PHY common. 2021-10-23 21:26:00 +02:00
Carlo Galiotto 4e3564a8a2 mac,stdout: add PUSCH and PUCCH SINR to stdout
This commit implements the PUCCH and PUSCH metrics in the MAC,
to be displayed in the eNB console.

Signed-off-by: Carlo Galiotto <carlo@srs.io>
2021-10-20 17:47:00 +02:00
Ismael Gomez d32bfa3756 remove warning when UE is already in camping 2021-10-19 15:16:52 +02:00
Andre Puschmann 908c469f30 sync: don't fail camping on cell if current and target srate match
this fixes #3437. The check/requirement for target srate to be different
to current srate isn't needed, and in fact fails for 6 PRBs where both are
indentical always.
2021-10-14 21:21:58 +02:00
Andre Puschmann 1068a84bd0 sync: fix typo 2021-10-14 21:21:58 +02:00
Xavier Arteaga 1bffebe0bf Removed cached PRACH signals 2021-10-14 09:46:15 +02:00
Xavier Arteaga 4cea3d92bd NR PHY accepts multiple SF PRACH sequence 2021-10-13 11:00:03 +02:00
Xavier Arteaga d5b34696b4 Sepparate CSI report configuration from quantification and integrate in nr_phy_test with assertions 2021-10-06 16:33:51 +02:00
faluco 666cb73cc9 Fix data race in phy_common::set_neighbour_cells. 2021-10-02 17:40:34 +02:00
faluco 72088dadb5 Fix race conditions in intra measure class. 2021-10-02 17:40:34 +02:00
faluco fa351cd285 Rename functions that contain the unsafe word to nolock.
The term "unsafe" does not clearly state that the function is not locking the shared date and it sounds "dangerous", so use a more explicit term.
2021-09-27 13:26:21 +02:00
Ismael Gomez ad646f436c Ignore PDSCH during cell selection 2021-09-21 11:09:34 +02:00
Xavier Arteaga de00b80228 Review NR NSA CFO estimation and compensation 2021-09-20 20:48:08 +02:00
faluco 1e3ba607ce Fix data race in is_pending_tx_end. 2021-09-17 11:34:28 +02:00
Andre Puschmann cc2d71183e ue,phy,nr: fix race condition when setting UL grant for Msg3
the Msg3 UL grant requires the TTI in which the RAR has been received
to calcualte the correct timing. There was a race between PHY and Stack
thread.

This patch circumvents the issue by removing a PHY state member that only holds
the RAR Rx timing. In the new interface the RA proc passes the Rx TTI
to the PHY again when setting the UL grant so the PHY can calculate the
correct timing without any state.
2021-09-16 15:22:59 +02:00
Xavier Arteaga 8aa7ae7d95 Remove unused attribute 2021-08-26 09:34:43 +02:00
Xavier Arteaga 4cb633e6e6 UE dicards NR CFO measurement if SNR is negative 2021-08-26 09:34:43 +02:00
Xavier Arteaga 83b9b2d1ff Implemented UE open loop CFO compensation for NR 2021-08-26 09:34:43 +02:00
Xavier Arteaga cba6df3722 Extended NR PHY robustnes against wrong RRC configuration 2021-08-03 17:30:08 +02:00
Xavier Arteaga b57df4db10 Refactored worker_end mechanism for concurrent workers 2021-07-28 12:14:37 +02:00
Xavier Arteaga b25681f9de gnb,prach: add PRACH to gNB
rebase of Xavier's feature_gnb_prach branch
2021-07-14 14:30:58 +02:00
Andre Puschmann 6c82d63aa6 remove legacy PNF/VNF code
the code hasn't been maintained for a while an likely needs to be
adapted for a real-world scenarios.

in order to avoid having to maintain two MAC/PHY interfaces we
remove the code from now.
2021-07-12 19:24:02 +02:00
Xavier Arteaga 54a12870ec SRSUE: avoid negative SR transmission in NR 2021-07-09 22:32:40 +02:00
Xavier Arteaga e3afd945bc Refactored NR HARQ ACK feedback 2021-07-05 17:51:27 +02:00
Xavier Arteaga eecaccb541 Added NR PHY helpers 2021-07-05 17:51:27 +02:00
Ismael Gomez 4e39982a19
Fix TSAN warnings in UE (#3021)
* Protect PHY SR signal management in a class

* Protect intra_freq_meas vector

* Protect cell and srate shared variables in thread-safe classes

* srsue,srsenb: include TSAN options header

* Protect ue_rnti_t and rnti scheduling windows behind thread-safe classes

* Protect access to state variable in sync_state

* Protect access to metrics configuration

* Protect access to is_pending_sr

* Protect access to UE prach worker

* Protect UE mux

* Avoid unlocking mutex twice

* Fix data races in RF/ZMQ

* Fix data races in intra_measure and PHY

* Fix minor data races in MAC

* Make TSAN default behaviour to not halt on error

* Fix blocking in intra cell measurement

* Address comments

Co-authored-by: Andre Puschmann <andre@softwareradiosystems.com>
2021-07-01 17:39:54 +02:00