Ismael Gomez
bdbaf7357a
ue,nr: Protect pending_cfgs in PHY worker_pool
3 years ago
faluco
b058945142
Fix data race in sync::current_earfcn.
3 years ago
faluco
dc31fb05a3
Fix ODR issue detected by ASAN in arch for the srsran_verbose global variable.
3 years ago
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>
3 years ago
faluco
5f93ff6ed0
Batch of data race fixes in the following classes: RLC AM, Intra measure, UL HARQ, PHY common.
3 years ago
Ismael Gomez
0de984d12f
srsue: protect access to phy common shared measurement
3 years ago
Ismael Gomez
d32bfa3756
remove warning when UE is already in camping
3 years ago
Xavier Arteaga
e93503bae3
Minor changes
3 years ago
Xavier Arteaga
3c40cd2840
Improved NR PHY logging info
3 years ago
faluco
5f648d195c
Implement JSON reporting in the scell search test.
3 years ago
Xavier Arteaga
1bffebe0bf
Removed cached PRACH signals
3 years ago
Xavier Arteaga
753edc7d7b
Force NR PRACH scaling to 0.99 of the DAC dynamic range
3 years ago
Xavier Arteaga
c7940f455c
More clear equation to calculate number of PRACH subframes
3 years ago
Xavier Arteaga
4cea3d92bd
NR PHY accepts multiple SF PRACH sequence
3 years ago
Xavier Arteaga
9d4fd1c5cc
Add NR SFN from SSB assertion and fix dummy SSB scheduling
3 years ago
Xavier Arteaga
954d6f5f8d
Removed sfn_4lsb from debug trace
3 years ago
Xavier Arteaga
5afe20e7da
UE loads SSB config from helper method
3 years ago
Joaquim
82ae0e6c37
nr_phy test: add AWGN channel simulator, add High Speed Train channel ( #3288 )
...
Add channel simulator to nr_phy tests.
UL and DL channel simulators added, with AWGN and CFO using the HST scenario. The DL AWGN is adjusted according to signal power.
3 years ago
Ismael Gomez
9d35c5d018
srsue: stop rx stream after finishing sync thread to avoid deadlock at stop
3 years ago
Ismael Gomez
8fff7f6646
Fix potential overflow in rssi_read_cnt
3 years ago
Xavier Arteaga
d5b34696b4
Sepparate CSI report configuration from quantification and integrate in nr_phy_test with assertions
3 years ago
Xavier Arteaga
c9d7db7314
Minor changes
3 years ago
Xavier Arteaga
8f90ee847a
Refactor carrier frequency from PHY and fix OFDM phase compensation
3 years ago
Xavier Arteaga
2ab3971ef1
Fix NR PBCH encoding/decoding
3 years ago
Ismael Gomez
6b506ec357
phy_common: clear tx_hold flag before releasing the semaphore ( #3342 )
3 years ago
faluco
72088dadb5
Fix race conditions in intra measure class.
3 years ago
Fabian Eckermann
8830c2796f
Add support for NSA FDD on band n3, n5 and n7.
3 years ago
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.
3 years ago
Xavier Arteaga
0324806d6c
Packed NR TDD config in duplex configuration and created test case for FDD
3 years ago
Xavier Arteaga
1f6c950dae
SRSUE: Fix speed and distance from TA metrics
3 years ago
Ismael Gomez
ad646f436c
Ignore PDSCH during cell selection
3 years ago
Xavier Arteaga
de00b80228
Review NR NSA CFO estimation and compensation
3 years ago
Xavier Arteaga
63bb86bce1
Added SS type conversion to string
3 years ago
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.
3 years ago
Andre Puschmann
07019a5bd6
nr: refactor DL/UL frequency deriviation
...
* add separate DL/UL freq point a in NR carrier struct
* use freqInfoDL/freqInfoUL to get freq point a
* simplify carrier tuning logic
3 years ago
Andre Puschmann
a518b81a10
phy,nr: don't print hex content of failed PDSCH
3 years ago
Andre Puschmann
ba17b64c70
worker_pool: fix newline
3 years ago
Andre Puschmann
272fc47bc2
ue,worker_pool: fix logging of Msg3 UL grant
3 years ago
Andre Puschmann
e1776f8d28
ue,phy: update the PRACH params inside the lambda that also executes the reconfig
...
setting the new PRACH params (writing the the local var) needs to protected as well
because it is called from the RRC context and the PHY worker will call configure_prach_params()
if it sees changes to it.
3 years ago
Xavier Arteaga
83b9b2d1ff
Implemented UE open loop CFO compensation for NR
3 years ago
Francisco Paisana
36eee0ab40
test,nr: add ra_search_space configuration to phy_cfg_nr; now the test ue searches for RA-RNTI while expecting a RAR
3 years ago
Xavier Arteaga
cba6df3722
Extended NR PHY robustnes against wrong RRC configuration
3 years ago
Xavier Arteaga
c9183326ce
Clean up some code and minor change
3 years ago
Xavier Arteaga
dbb10dd6a2
Hold worker thread until baseband is transmitted
3 years ago
Xavier Arteaga
0c7239e5df
SRSUE: add RF channel offset
3 years ago
Xavier Arteaga
b57df4db10
Refactored worker_end mechanism for concurrent workers
3 years ago
Xavier Arteaga
bb4f469794
Integrated SR decoder in gNb
3 years ago
faluco
7b7ecb7983
Add a new configuration option that controls PDSCH baseband sample dump to a file on KO.
4 years ago
Xavier Arteaga
b25681f9de
gnb,prach: add PRACH to gNB
...
rebase of Xavier's feature_gnb_prach branch
4 years ago
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.
4 years ago
Xavier Arteaga
54a12870ec
SRSUE: avoid negative SR transmission in NR
4 years ago
Xavier Arteaga
e764a26136
Integrated PUCCH decoding in gNb
4 years ago
Xavier Arteaga
e3afd945bc
Refactored NR HARQ ACK feedback
4 years ago
Xavier Arteaga
eecaccb541
Added NR PHY helpers
4 years ago
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>
4 years ago
Xavier Arteaga
aef3e5a40a
More NR PHY test and GNB PHY development
4 years ago
Xavier Arteaga
d49734b1bc
SRSENB: Refactor to accomodate 5G NR
4 years ago
Xavier Arteaga
b1e4720721
SRSUE/SRSENB: added tx_enable flag in worker_end
4 years ago
Xavier Arteaga
027201d457
SRSUE/SRSENB: Refactor NR workers to generalise lower PHY
4 years ago
Xavier Arteaga
fc5d069743
SRSUE: Default PHY measurements to NAN
4 years ago
Andre Puschmann
94959b5318
srsue,test: reorganize test folders and move to components like we in PHY
4 years ago
Xavier Arteaga
a31f3d42ce
Added RF NR search tool and added baseband file
4 years ago
Xavier Arteaga
157af40417
Fix shadow variables in sync.cc
4 years ago
Xavier Arteaga
3a011155db
SRSUE: Make sure PHY reset is done when SYNC is IDLE
4 years ago
Xavier Arteaga
d74f70289e
SRSUE: fix last reported RI state
4 years ago
Andre Puschmann
b0a2f31478
prach: protect configuration and state getters with mutex
...
purely TSAN with unit-test based approach that protects
the state getters and configuration routines with a mutex
4 years ago
Andre Puschmann
98a91a2057
sync: protect sync_state, access ue_sync object only from one thread
...
races detected with TSAN, primarily the ue_sync object which isn't
thread-safe is accessed by all workers to set the CFO and by the
sync thread to receive samples (which read the CFO).
The patch introduces shadow variables that are updates from the
main thread before/after the sync is executed. The atomic shadow
variables can then be read from otherthreads without holding a
mutex, i.e. blocking the sync.
4 years ago
Xavier Arteaga
2d0a21f779
Move radio frequency mapping out of the PHY common into the PHY reset method
4 years ago
Xavier Arteaga
5c55ff24ec
Minor UE aesthetical changes
4 years ago
Xavier Arteaga
807b60988d
Wait for PHY workers to transmit before considering SYNC in IDLE
4 years ago
Xavier Arteaga
93b35676e7
Solve concurrency issue when setting up SCell measurement
4 years ago
Xavier Arteaga
7185ec6beb
PHY CC configuration is stashed and applied in the next TTI
4 years ago
Xavier Arteaga
235a664120
SRSUE: Removed PUSCH-DMRS/SRS pregeneration methods
4 years ago
Xavier Arteaga
aab2211058
Protect UE PHY SCell configuration
4 years ago
Xavier Arteaga
a7dcd629ef
Cell search waits for IDLE transition before launch
4 years ago
Xavier Arteaga
cc2a6dc269
Review cell selection and SCell configuration during HO
4 years ago
Xavier Arteaga
48e0fc3c99
Implemented initial PBCH decoder and refactored SSB candidate selection
4 years ago
yagoda
8d2568ed2c
small fix for console print for cyclic prefix
4 years ago
yagoda
9501283c1c
fixing support for extended Cyclic Prefix
...
small cosmetic fixes of CP code
4 years ago
Xavier Arteaga
5eadc06dd4
Intra-frequency miscellanous changes
4 years ago
Xavier Arteaga
170fbefbf5
Avoid SCell receiver to copy
4 years ago
Xavier Arteaga
d39402ed54
Added TTI trigger condition to intra-frequency measurement base
4 years ago
Xavier Arteaga
c80f91ac9e
Fix compilation
4 years ago
Xavier Arteaga
ac9dc6f31d
Compute Performance
4 years ago
Xavier Arteaga
0b3f4e5de0
Improvements in NR cell search
4 years ago
Xavier Arteaga
fb7623f5b6
Initial intra frequency NR cell search and test
4 years ago
Xavier Arteaga
60015e7ceb
Made intra frequency cell search and measurment generic
4 years ago
Xavier Arteaga
a57336d64f
Integrate periodic SSB measurement in SRSUE and fix related defects
4 years ago
Xavier Arteaga
60d1708b80
Initial SSB measurement implementation
4 years ago
Xavier Arteaga
1396c2a1e2
Mulpiple CSI measurement fixes. Channel and sync metrics from CSI measurements
4 years ago
Xavier Arteaga
653177ca7c
SRSUE: Refactored work_dl for NR. Added NZP-CSI-RS measurement
4 years ago
Ismael Gomez
0b91598e36
Move mlockall() to main() in srsUE and srsENB
4 years ago
Xavier Arteaga
9fb091262a
Duplicate NR PDSCH transmits ACK and add ACK Tx TTI to trace
4 years ago
Xavier Arteaga
95dafcb413
SRSUE: fix NR carrier PCI in metrics
4 years ago
Andre Puschmann
598594c51a
all: bunch of pass by const& changes suggested by LGTM
4 years ago
Xavier Arteaga
e1ff824cc2
SRSUE avoid NR SR in UCI for PUSCH
4 years ago
Xavier Arteaga
334b308c35
Fix DCI NR configuration from main configuration
4 years ago
Andre Puschmann
4dd17aee45
rrc/phy/nr: calculate tuning freq of NR carrier from RRC signaling params
...
skip initial tuning to hard-coded NR frequency and use RRC-provided
values to calculate center frequency
4 years ago
AlaiaL
58ce75d3b4
Fixes coverity 369617
4 years ago
Matan Perelman
7ee52dc676
srsUE: Add option to filter N_id_2 / PSS to configuration
4 years ago