762 Commits (f6033264f909689a5336144663d809609baa3e44)

Author SHA1 Message Date
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
Andre Puschmann 7817f12f1f phy_common: reduce log level to info when UL grant is tried to activate twice
in accordance with discussion in #2717 we reduce the log level to info
to avoid failing tests due to that event
4 years ago
Xavier Arteaga ab6a5ef17a Added NR DCI conversion to string for formats 1_0 and 1_1 4 years ago
Andre Puschmann c1e4385f50 worker_pool: fix wrong log level when setting worker config 4 years ago
Xavier Arteaga 407903e0d6 SRSUE: refactor carrier setting for accepting a dynamic carrier configuration 4 years ago
Xavier Arteaga 09272edf4b Update NR PHY TTI 4 years ago
Andre Puschmann 5700b090ea worker_pool: set log level for PHY-NR logger and use for PRACH
log level for PHY-NR wasn't set so:
16:00:32.202953 [PHY-NR ] [I] [ 8024] Setting RAR Grant rnti=4602 dci=rar hop=0 f_alloc=0x32 t_alloc=0x1 mcs=4 tpc=3 csi=0
was always printed. Also use the logger for the PRACH
4 years ago
David Rupprecht f42d4dbc28 Refactored carrier config 4 years ago
Andre Puschmann 0df218ab90 cc_worker: fix PDSCH log fmt::v7::format_error 4 years ago
Xavier Arteaga 53b38fccf9 Fix compile and other 4 years ago
Xavier Arteaga 8ffced7e88 NR PHY logging minor corrections 4 years ago
Xavier Arteaga abfc1da921 Multiple NR-PUSCH fixes 4 years ago
Xavier Arteaga 7e06e789d5 Fic NR UCI in the info string 4 years ago
Xavier Arteaga 01ce0718be NR-PUSCH RE mapping correction and NR-SCH detailed grant information 4 years ago
Andre Puschmann b9ae064338 mac_nr: add DL HARQ
this commit adds a complete DL HARQ entity to the MAC of the UE.
It also refactors demux into an own class and adapts the PHY-MAC
interface to use the new MAC capabilities.
4 years ago
Xavier Arteaga e4e3456d76 Refactored PDSCH/PUSCH decoder for LDPC early stopping 4 years ago
Andre Puschmann bf4d0121dd cc_worker,proc_ra: set RNTI type for UL grant contained in RAR
needed for HARQ to correctly pick up the Msg3 Tx
4 years ago
Andre Puschmann 44baea6666 mac_nr: add UL HARQ
this patch adds a basic UL HARQ entity for NR.

The patch also updates some interfaces between MAC/RA/HARQ,
i.e. get_temp_crnti().

It also adds a Msg3 unit test.
4 years ago
Andre Puschmann b7146c41b2 nr: add NDI for PUSCH grant to sch cfg struct 4 years ago
Xavier Arteaga af97538448 Remove NR from log lines 4 years ago
Xavier Arteaga 7823bfc28c Fix append NR to loggers for NR components 4 years ago
Xavier Arteaga b5e879db47 SRSUE: review metrics interfaces 4 years ago
Xavier Arteaga 044da18db9 SRSUE: Reviewed PHY metrics getter 4 years ago
Xavier Arteaga 2f453b43ba Initial NR PHY interface 4 years ago
Xavier Arteaga f30f3e0239 Minor aesthetic log change 4 years ago
Xavier Arteaga 21fe502448 Fix NR PRACH resource determination 4 years ago
Andre Puschmann b1aaadb51c nr,cc_worker: convert grant size in bytes before passing to MAC 4 years ago
Xavier Arteaga db1a1c059c NR PHY workers TTI synchronization between DL and UL work 4 years ago
Xavier Arteaga 991c6e7016 Refactored NR HARQ-ACK feedback enqueue 4 years ago
Xavier Arteaga 49731ab5a1 Initial NR-DCI refactor
Added NR DCI 1_1 size

Several DCI NR fixes
4 years ago
Xavier Arteaga 01990c2e1d SRSUE: Add PHY-MAC SR related interfaces 4 years ago
Xavier Arteaga f4ae2d73aa SRSUE: report positive ACK for retx 4 years ago
Xavier Arteaga 20a4c39fa4 SRSUE: Disable PDSCH retransmissions in NR 4 years ago
Xavier Arteaga e200a3359e SRSUE: check RNTI prior to UL encoding 4 years ago
Xavier Arteaga 6219500148 Added NR-RRC RACH parsing 4 years ago
Xavier Arteaga 5bdf2c93b3 Initial NR PDSCH CSI-RS RE skip and other changes 4 years ago
Andre Puschmann 1a0891df51 all: check return value of make_byte_buffer() and handle them safely 4 years ago
Codebot 4523ee6087 rename srsLTE to srsRAN 4 years ago
Xavier Arteaga 2782d96170 SRSUE: compute speed from TA commands 4 years ago
Xavier Arteaga a8b5b8efa1 UHD: stability improvements 4 years ago
Xavier Arteaga f3c0360842 Applied aesthetical changes 4 years ago
Xavier Arteaga ddfff3edad SRSUE: Zero transmit buffer if the slot is not UL 4 years ago
Xavier Arteaga fb1a0b6bce SRSUE: added NR-PDCCH information 4 years ago
Xavier Arteaga d3cfb00211 SRSUE: Added TDD DL/UL slot detection 4 years ago
Xavier Arteaga 6f6c20e194 SRSUE: Added procedure for multiplexing UCI in NR-PUSCH 4 years ago
Francisco 3e9f93eb8a refactor - remove old log_filter and logmap libraries from the codebase 4 years ago
yagoda 2ecdab8717 small fixes to the eMBMS downlink, lack of pdcch decoding was causing issues with uplink 4 years ago
Xavier Arteaga f4e9d00ea8 Initial HARQ-ACK multiplex in PUSCH 4 years ago
Xavier Arteaga 4679e9f871 Initial NR CSI reports 4 years ago
Xavier Arteaga 1e55d68b55 Removed set RNTI from API 4 years ago
Francisco b329e25bbb move ue phy interfaces to separate interfaces header file 4 years ago
Francisco 13d805ef56 move ue rrc interfaces to separate interfaces header file 4 years ago
faluco 2328011732 - Remove old loggers in ttcn3 and in NR. 4 years ago
faluco eaf20fa4f3 - Removed some logger injections in the ue app.
- Removed old logger setup code not needed anymore.
4 years ago
Xavier Arteaga 126fc09b7d SRSUE: Added initial SR procedure for NR 4 years ago
Andre Puschmann 9c4146442a mac,phy: refactor NR MAC/PHY UL data passing interface
inspired by accepted (but not yet merged) PR to include the
(unique_)byte_buffer_t for MAC/PHY interfacing, this patch adds
a few more useful bits to that. Buffer management for UL data is now
done in MAC and only a pointer to the data is passed in the UL action.

* Move Tx softbuffer to MAC (until UL HARQ class is ready)
* Remove temparal data member in cc_worker
* Remove memcpy after packing MAC PDU
4 years ago
David Rupprecht 1fcd006a7c fixed segfaulting 4 years ago
Xavier Arteaga b768002a93 SRSUE Added RAR unpacking and other fixes 4 years ago
David Rupprecht 82a8dcc77a Change interface to unique_byte_buffer
logging message for msg3 preparing
4 years ago
David Rupprecht f90f10f6a8 SRSUE: NR handle rar pdu in tb decoded, fixed tti_tx issue, log RA procedure and adjusted testcase 4 years ago
Xavier Arteaga 760ad3a746 SRSUE: Interface stack and PHY for NR-RA procedure 4 years ago
David Rupprecht 0f1586dd2d Deleted all HAVE_5GNR in CC and h files
CMakeList and travis yaml
4 years ago
Xavier Arteaga 326c5bc25e Set secondary Serving cell synchronism bandwidth at cell selection and skip at configuration set-up 4 years ago
Xavier Arteaga 81748c7b1c SRSUE: PHY does not compile NR interface
Fix
4 years ago
Xavier Arteaga c1e6703054 Remove magic number 4 years ago
Xavier Arteaga bdef411855 SRSUE: Aesthetic changes 4 years ago
Xavier Arteaga 7aef15bf34 SRSUE: notify MAC about UL grant 4 years ago
Xavier Arteaga 784a33583b SRSUE: Initial NR MAC-PHY interfaces
SRSUE Fix compilation

SRSUE: temporary fixes LTE/NR PHY/Stack interface problem

fix

fix
4 years ago
Xavier Arteaga 2e39e103f8 Minor NR related corrections 4 years ago
Xavier Arteaga 9faa2d5fcd SRSUE: Automatic DL-HARQ Reset for every TTI and Generate PUCCH baseband signal 4 years ago
Xavier Arteaga d807ccc3dd SRSUE: Initial NR-PUCCH HARQ feedback 4 years ago
Andre Puschmann f0818275f0 ue,phy: reduce log level when 2nd grant for same PID is registered
this resolves issue #2277 in which a warning was logged when
the CC worker decoded a 2nd phantom PDDCH.

It's difficult to avoid this 2nd PDDCH without addional computation
that we don't want add at this stage.

Rather than filtering out the Warning in the log post-processing,
we reduce the log level to info.
4 years ago
David Rupprecht 14cc25f181 Fixes crash due to not exisiting pointer to log in run time 4 years ago
faluco 9d15a44c73
Port lib/phy to srslog (#2298)
* - Ported the channel class to srslog.
- Removed all newlines of log messages in lib/phy.

* Remove more newlines that use the C debug macros.
4 years ago
Francisco 04ab4eefcd use new make_byte_buffer() helper method to create unique_byte_buffers 4 years ago
Xavier Arteaga aef0397658 SRSUE: NR worker reset Tx buffer and PUSCH data payload bytes from 0 to 255 4 years ago
Xavier Arteaga a19671802e Added SRSUE NR-PUSCH initial procedures 4 years ago
Xavier Arteaga a2d9b436d9 SRSUE: add NR stack to PHY and initial decoded PDU push 4 years ago
Xavier Arteaga 77f0a53abd Added DCI Format 0_0 unpacking and more NR-PUSCH procedures 4 years ago
Xavier Arteaga b150e45129 Renamed NR-PHY state and fix license headers 4 years ago
faluco a7bb3ce7d0 Remove unused variable in vnf_phy_nr. 4 years ago
faluco f8485fb799 Replaced loggers to srslog in PNF and VNF classes. 4 years ago
Xavier Arteaga 92c4a38fc2 Fix logger for NR PHY 4 years ago
Xavier Arteaga 2421f2cd99 Multiple PHY fixes and NR-PHY configuration refactor 4 years ago
Xavier Arteaga b652cd68a5 Refactored NR PHY configuration to accept multiple CORESETs/SearchSpaces 4 years ago
Xavier Arteaga 10a7b63c6a NR-UE PHY transmits PRACH in all oportunities 4 years ago
Andre Puschmann 1a23b2f9bb ue: don't show NR PDSCH constallation plot in normal EUTRA mode
only initialize NR PDSCH plot when nof NR worker is greater 0
4 years ago
faluco 5981469f9f
Upgrade loggers in srsue (#2163)
* Replaced UE logger in the ue class.

* Replaced loggers in the main phy class and prach.

* Replaced loggers in phy common and ta_control.

* Replace loggers in cc and sf workers.

* Replaced loggers in intra_measure, scell_recv, search, sfn_sync, sync.

* Remove last uses of the old loggers in the main phy class.

* Remove stray newline in logs.

* Replaced loggers in ue gw.

* - Started to replace loggers in the ue stack.
- Replaced loggers in usim and pcsc.
- Adapted nas and usim tests.

* Replace loggers in nas.

* Added missing log init calls in two previously modified tests.

* Replaced logger in nas idle procs.

* Replaced loggers in nas emm state.

* Replaced loggers in tft packet filter and adapted tft test.

* Replaced loggers in main RRC class.

* Replaced loggers in RRC cell.

* Replaced loggers in RRC meas.

* Replaced loggers in rrc procedures.

* Started logger replacement in MAC layer, more precisely in demux and dl_harq classes.
Been unable to inject loggers in construction for dl_tb_process due to very weird static assertions in the std::vector code being the type not constructible which is not true, so instead use the main MAC logger directly.

* Replaced loggers in mac mux class.

* Replaced loggers in mac pro_bsr.

* Replaced loggers in mac proc phr.

* Replaced loggers in mac proc SR and RA.

* Replace loggers in mac UL HARQ.

* Replaced loggers in main ue stack class.

* Fixed nas test crashing due to a null string.

* Ported mac_test to use the new loggers.

* Removed TTI reporting for the PHY log as the old logger did.

* Replaced loggers in UE phy tests.

* Configure loggers in nas_test.

* Replaced loggers in rrc_meas_test.

* Replaced loggers in rrc_reconfig_test.

* Added missing newline in tft_test.

* Fix compilation errors in TTCN3 tests.

* Fix linker error detected in CI and warning.

* Replaced loggers in TTCN3 tests.

* Fix a text replace error in some log messages.

* Remove trailing newlines from log entries.

* Remove old logger from rrc.

* Flush backend before printing the test status.

* - Fix compilation error from previous rebase.
- Remove trailing newlines from some missing log entries.
4 years ago
Xavier Arteaga 13c594651e Apply minor NR GUI comments 4 years ago
Xavier Arteaga 3ee667c4a5 SRSUE: added NR-PDSCH constellation in GUI 4 years ago
Xavier Arteaga 59114206ae SRSUE: Unify PRACH reconfiguration conditions 4 years ago
Ismael Gomez a6423442c2
Refactor NR RA files and fix header includes all over library (#2162)
* Refactor NR resource allocation classes. Use DCI instead of grant for dummy PDSCH UE/eNB test

* Minor refactors in NR workers and ue_dl

* Fix include issues

* fix compilation issues
4 years ago
Xavier Arteaga 8a3d70f6da Fix intra-cell measurement ringbuffer overflow 4 years ago
Xavier Arteaga b3200d9ef5 Renaming common UL/DL DMRS related types and initial NR PUSCH implementation 4 years ago
Andre Puschmann 52da9eb46f srsue,phy: fix setting of PHY log level
probably a regression from the new log system integration.
it was disabling PHY logs, from PRACH for example.
4 years ago
Xavier Arteaga 909e5de34f Fix NR workers 4 years ago
David Rupprecht 62b558fccf Move rat type to common header
Removed phy measurement from rrc interface phy

Updated rrc interface for handling measurements
4 years ago
Andre Puschmann 1de2abb5f7 sync: log TTI and TTI jumps before calling Stack thread 4 years ago
Andre Puschmann 346c07a9f2 sync: update log TTI before logging first message 4 years ago
Xavier Arteaga c635b1e467 Initial NR DCI blind-search 4 years ago
Xavier Arteaga ebd87e63c0 Fix worker NR compilation 4 years ago