2084 Commits (d6b5229dbef68ecf8fb567681f3a519ca6226203)

Author SHA1 Message Date
Andre Puschmann f647343f18 rlc_am: fix poll bit during header reconstruction
this makes sure that the reconstructed RLC AM header
has the poll bit set when any of its segments had it set.

this triggered a bug in RLC AM because the Status PDU
isn't transmitted for a RLC PDU that was segmented and
only the first segment had the P flag set.
4 years ago
Francisco Paisana b40a5a958e use common function to fill rrc reconf message in handover 4 years ago
Francisco Paisana e9b693942f diff-based cell selection activation 4 years ago
Francisco Paisana 836e7d7ede refactor scell addition in the srsenb::rrc to follow the same style of other rrc recfg fields 4 years ago
Francisco Paisana 97f2e4336e refactor of functions for filling the asn1 radio resource config structs. This functions are used during rrc setup/reest/reconf 4 years ago
Xavier Arteaga 9487d27ef9 Renamed NR constants and comments 4 years ago
Xavier Arteaga e8f168b20c PDSCH NR: Added files 4 years ago
Xavier Arteaga c8477483d9 PDSCH NR: Added files 4 years ago
Xavier Arteaga 30d8e05d50 Fix PDSCH-DMRS symbol index 4 years ago
Xavier Arteaga 8d34d344a8 Created PDSCH-NR configuration structures and refactored DMRS 4 years ago
Xavier Arteaga 009f300c5e Initial PHY Data procedures 4 years ago
Xavier Arteaga 775692f461 Rearanged PDCCH NR functions structures 4 years ago
Xavier Arteaga 937c52339d Added PDCCH DMRS estimation and measurement 4 years ago
Xavier Arteaga 5799100e42 FFT based Resampler admits NULL inputs/outputs 4 years ago
Xavier Arteaga 44ae70dcc6 Initial implementation of the 5G NR PDCCH DMRS encoding 4 years ago
Xavier Arteaga 29ad2427d9 Initial implementation of the 5G NR PDCCH DMRS encoding 4 years ago
Xavier Arteaga 579526f1fe Added sequence advance without generating data 4 years ago
Xavier Arteaga eba20b6367 Radio: fix frame overlap at start-of-burst 4 years ago
Xavier Arteaga be400503b9 Add pass criteria to PRACH USRP test 4 years ago
Xavier Arteaga 28bb4709ff Solved possible high impact PHY out-of-bounds issues 4 years ago
Pedro Alvarez e4f143059e Simple log fix to make it easier to compare PDCP RX and TX. 4 years ago
Andre Puschmann 0740154bff rrc,sync: fix two uninit vars
detected by Valgrind when running UE with TDD cell
4 years ago
Andre Puschmann 723ca2dd48 ra_dl: fix TDD reference symbol extraction
reported/provided by user softdev86 in https://github.com/srsLTE/srsLTE/issues/566

author tested with local 4 port cell. I am not able to verify locally but
it looks ok, we'll revise later if needed.
4 years ago
gracid f67a152a2a Remove unnecessary Lime calibration step from Soapy implementation
When using srsLTE with Lime devices, calibration was performed before any configuration steps have happened, thus making calibration values invalid. Removing Lime specific calibration step from rf_soapy_imp makes so that devices will be automatically calibrated by SoapyLMS on rf_soapy_start_stream call.

Tested and working with srsENB using LimeSDR-USB v1.4 and LimeSDR-Mini v1.2 boards.
4 years ago
gracid 78b63c9465 Set same antennas for all Soapy channels
This commit adresses an issue where two or more channels could have different antennas, despite being explicitly set in the configuration file
4 years ago
Francisco Paisana 4cb6ed27eb updated scheduler ue mcs computation to account for new 256QAM tables 4 years ago
Xavier Arteaga fac6d40a45 SRSENB: fix PUSCH max number of iterations 4 years ago
Xavier Arteaga 791c979063 Vector: fix cf to cs conjugate conversion 4 years ago
Andre Puschmann 5e7de0a95b cmake: install individual libraries (common, phy, etc)
this seems to be important for package maintainers
or people who use srslte components in other projects
thar require to link against static libs

so besides installing headers, the apps and the RF lib, we also
install all individual libraries

this fixes https://github.com/srsLTE/srsLTE/issues/500#
and https://github.com/softwareradiosystems/srsLTE/issues/1754
4 years ago
faluco 8376111419 - LGTM fixes. 4 years ago
Xavier Arteaga caf37b8e62 Added serving cell index in UCI/CSI report trace 4 years ago
Douglas Anderson fe21b2717c Fix "Comparison is always true because ret >= 0" LGTM warnings
... and refactor out some other dead code in the vacinity of these warnings
4 years ago
Andre Puschmann 1a03839f78 rlc_am_lte: fix potential bug when setting uint32_t to -1
discovered in Coverity CID 359664
4 years ago
Andre Puschmann 5a31c5765b rf_soapy: fix auto selection of Soapy device
when the default RF args are used, NULL is passed as argument
to the RF driver. In this case, we should use the previous
SoapySDRDevice_enumerate() and let Soapy pick the device
4 years ago
Xavier Arteaga ca6566ad46 Fix PUCCH format1b false detection 4 years ago
Pedro Alvarez b43e724b4c Remove packing/unpacking code for M2AP. 4 years ago
Jan Remeš 8c7b7cc55a libsrslte_rf: add library version
This patch adds version string to the 'libsrslte_rf' library.
This results in the library being built as
    libsrslte_rf.so.20.04.2
with the following symbolic links
    libsrslte_rf.so.0 -> libsrslte_rf.so.20.04.2
    libsrslte_rf.so -> libsrslte_rf.so.0

The SRSLTE_SOVERSION variable should be increased with each backwards
incompatible change of the library.

Signed-off-by: Jan Remes <jan.remes@invasys.com>
4 years ago
yagoda 615af5cc4d setting seed to constant in prach test 4 years ago
Andre Puschmann b08a586fd4 pdu: refactor error logging
just some refactoring of error messages when a PDU packing error occurs
4 years ago
faluco 693d2f10b7 - Fix hex dumps newlines. 4 years ago
Pedro Alvarez 2f0125ef4e Fix issue recovering key state, when the first HO fails (specifically, is_first_ncc was not recovered). Minor improvements in key logging. 4 years ago
faluco 079ae70e64 - Fix logs entries having two newlines instead of one. The old log formatter will delegate this to the new one. 4 years ago
Andre Puschmann f73fa47a7b pdu: fix printing of buffer state of long BSR
extracted wrong number of bits for 2nd LCID in long BSR
4 years ago
Xavier Arteaga ef9d77c966 SRSUE: add PRACH config present field in PHY configuration structure 4 years ago
faluco 51b27fc255
Import latest srslog version (#1796)
* - Import latest srslog version.
- Adjusted the nas_test to create logs correctly.
- Remove timestamp formatting now that is provided by srslog.
4 years ago
Ismael Gomez 4e88daae21
Set DCI unpacking errors to info (#1781) 4 years ago
faluco 85544bb8d3 - Remove unnecessary newline character and optimize the code to use fputs instead of fprintf since no formatting is required. 4 years ago
faluco dfeed52514 - Rename out_stream function to console. 4 years ago
faluco 62faef7c71 - Replaced all uses of the log::console method. 4 years ago
faluco 302f9793ca - Add common utils to print to stdout and stderr as a first step to remove the log::console method. 4 years ago
Andre Puschmann 795db30338 pdcp: drop PDCP control PDUs
this patch adds a check to drop all PDCP control PDUs
in order to prevent handling them as data PDUs.

This could happen when the size exceeded the arbitrary length check.

This should fix #1787
4 years ago
Xavier Arteaga d375e305ec Initial NR DMRS for PDSCH 4 years ago
Ismael Gomez 76bfc78147
Fix issues with Sounding-RS (#1761)
* Fix deadlock caused by update_measurements calling in_sync

* Fix overlapping SRS condition

* Do not use shortened PUSCH in transmissions and retx from RAR

* Revert "Fix deadlock caused by update_measurements calling in_sync"

This reverts commit f58c8c8c766f8f95baa3a3bf8287d8e25b2057ba.
4 years ago
Ismael Gomez b94d24ed98
Take into account CRS from neigbhour cells when measuring interference (#1757)
* Take into account CRS from neigbhour cells when measuring interference

* fix std::isnormal compilation

* Fixed compilation of test

* Address comments

* Remove unused overrides
4 years ago
Xavier Arteaga 236ef4378d Fix u32 parsing 4 years ago
Xavier Arteaga ede58319ae Vector: added conjugate complex float to short 4 years ago
Xavier Arteaga 8566cbb079 Added device name to prach_test_usrp 4 years ago
Xavier Arteaga 60d563aa06 Fix ringbuffer read conversion 4 years ago
Xavier Arteaga eb5210dbda Radio stops Rx stream prior to stop and benchmark prompts RF metrics 4 years ago
Xavier Arteaga de0501cc55 Fix radio benchmark 4 years ago
Xavier Arteaga c20d4ff5cc Added ringbuffer zerocopy a timeout 4 years ago
Xavier Arteaga 759719ad55 Improved RF helper 4 years ago
faluco f0d651ae8e - Fixed a leak in the MME class not releasing the static byte buffer pool.
- Now the pool gets destroyed on program exit using a unique_ptr.
- Removed manual cleanup() calls in all the code base to free the pool instance.
4 years ago
faluco b892da0294 - Calculate the FFT of the PRACH on demand.
- Fixed a PRACH test that was failing with ASAN.
4 years ago
Xavier Arteaga 8cb3945886 SRSUE: fix RV assertion for PUSCH 4 years ago
Xavier Arteaga 44c2412be2 SRSUE: silent PUSCH encoding error by dropping invalid grant 4 years ago
Andre Puschmann 9dd02af15c network_utils: lower verbosity of when socket connection fails
the network helper can log this event but it should be up to
the caller to decide whether this is an error or not.
4 years ago
Andre Puschmann 33c050791f pdu: add missing to_string() content for MAC SCH PDU subheaders
* add both scell activation CE
* add rnti to CRNTI and CONT RES CE
4 years ago
Xavier Arteaga 1d71cf8557 Avoid zero division 4 years ago
faluco 1860006203 - Fixed leaks in prach module spotted by asan. 4 years ago
yagoda 24574caf44 cleaning up the PRACH time offset calculation 4 years ago
yagoda b5a8d82058 -adding more prach tests to make test, removing some variables from stack
-PRACH time offset to TA unit conversion
4 years ago
yagoda 59082770d3 moving some arrays to the heap, fixing formatting, setting dft norm 4 years ago
yagoda f6ea431555 -adopting new PRACH equalization approach for successive cancellation
-adding frequency domain time offset detection
-adding to testing of PRACH
4 years ago
yagoda ec7873e7cc refactoring PRACH, adding phase correction to successive cancellation 4 years ago
yagoda 4d8888aae6 - adding simple successive cancellation to PRACH detection
- adding testing for same and for offset detection
4 years ago
Ismael Gomez 1bd3e76f98 Move unncessary buffer in radio 4 years ago
Ismael Gomez c4080e35cc Set different timestamp behaviour for X300 and B200 4 years ago
Andre Puschmann d48bc8837e pdu: refactor MAC PDU class
this patch refactors the MAC PDU class, the main changes are:

* add to_string() method to pretty print PDU and subheaders
  This allows to have a single log entry per MAC PDU with all its
  contents.
  It removes the C-style fprint() method

* Simplity payload vs. w_payload_ce
  Before we've used payload when reading the PDU and w_payload_ce
  as a buffer when writing. In all getters we needed to differentiate
  between both. Now payload points to w_payload_ce initially and is
  only updated when parsing a new PDU.

* add various helpers, e.g. to get subheader index, update a BSR, ..

* fix PDU test to use new to_string() method
4 years ago
Ismael Gomez 54eed11e1d Refactor decision for extended CSI/SRS 4 years ago
Ismael Gomez c9daf1f61a Make const args 4 years ago
Ismael Gomez e2154d2213 Renamed constants to SRSLTE and use SRSLTE_CFI macros 4 years ago
Ismael Gomez 38e2ffe414 Use Format1A when using CA and 15 PRB due to DCI size ambiguity 4 years ago
Ismael Gomez 51521ad8e4 Improved PDCCH blind search and fixed a few issues with ambiguous DCI size with Release 10 4 years ago
faluco db03275337 - Fix compiler errors when trying to build the project without SIMD support. 4 years ago
Xavier Arteaga 1f18e8a054 SIMD: frequency estimate optimization 4 years ago
Xavier Arteaga bf1b7b8527 SIMD: fix NEON compilation 4 years ago
Ismael Gomez 0afcea9d61
Do not allow empty TBS PUSCH. Account for CQI from inactive cells before activated. (#1667) 4 years ago
Xavier Arteaga 080543815f Solved compilation warnings and enb_phy_test stop 4 years ago
Xavier Arteaga b8f4d03979 Fix in SIMD frequency estimation 4 years ago
Xavier Arteaga 611dd67364 SRSENB: PUCCH TA measurement only available with detected PUCCH 4 years ago
Xavier Arteaga 87edafeddb Reduced SRS test cases to SF index 0 4 years ago
Xavier Arteaga ee6f24befe Optimize vector frequency estimation 4 years ago
Xavier Arteaga bc0aba0d8a SRSENB: calculate TA from PUCCH messages 4 years ago
Andre Puschmann 49a7a90698 mac: simplify BSR packing logic
simplify logic to check whether a BSR fits and, if so, which type.
before the check has been done in two places.

we now also accomodate for the CE subheader size.
4 years ago
Xavier Arteaga 1843c9efbc SRSENB: PUCCH TA measurement only available with detected PUCCH 4 years ago
Xavier Arteaga 3aec23f7d8 SRSENB: calculate TA from PUCCH messages 4 years ago
Xavier Arteaga df2c949417 Radio: add individual Rx gain and integrate in srsue
Fix compilation

Fix compilation

Add missing variable. Wasn't compiling

Radio: revert some changes
4 years ago
Xavier Arteaga 04d7267734 UHD: Force LO frequency option 4 years ago
Xavier Arteaga b3d66c98c3 SRSENB: tx gain per channel and fix bug 4 years ago
Andre Puschmann 3f02e56a1e uhd: do not stop rx_stream when setting rx_rate for the B210
with the B210 and 2 RF ports, i.e. MIMO mode, we have stopped the
Rx stream after changing the rx_samp_rate but didn't start it again.

Either the issue doesn't exist in SISO mode or we never saw it but for MIMO
it can be reproduced easily with rate changes during streaming, i.e.:

$ ./lib/src/radio/test/benchmark_radio -p 2 -t 10 -x -y -s 23.04e6
Instantiating objects and allocating memory...
Initialising instances...
Opening 2 channels in RF device= with args=default
[INFO] [UHD] linux; GNU C++ version 9.2.1 20200304; Boost_107100; UHD_3.15.0.0-2build5
[INFO] [LOGGING] Fastpath logging disabled at runtime.
Opening USRP channels=2, args: type=b200,master_clock_rate=23.04e6
[INFO] [B200] Detected Device: B210
[INFO] [B200] Operating over USB 3.
[INFO] [B200] Initialize CODEC control...
[INFO] [B200] Initialize Radio control...
[INFO] [B200] Performing register loopback test...
[INFO] [B200] Register loopback test passed
[INFO] [B200] Performing register loopback test...
[INFO] [B200] Register loopback test passed
[INFO] [B200] Asking for clock rate 23.040000 MHz...
[INFO] [B200] Actually got clock rate 23.040000 MHz.
[INFO] [MULTI_USRP]     1) catch time transition at pps edge
[INFO] [MULTI_USRP]     2) set times next pps (synchronously)

Warning: TX gain was not set. Using open-loop power control (not working properly)

Setting manual TX/RX offset to 0 samples
Start capturing 10000 frames of 23040 samples...
Changing sampling rate to 23.04 Msamps/s
Setting manual TX/RX offset to 0 samples
Changing sampling rate to 1.92 Msamps/s
Setting manual TX/RX offset to 0 samples
/home/anpu/src/srsLTE/lib/src/phy/rf/rf_uhd_imp.cc.1211: Error timed out while receiving samples from UHD.

/home/anpu/src/srsLTE/lib/src/phy/rf/rf_uhd_imp.cc.1211: Error timed out while receiving samples from UHD.

/home/anpu/src/srsLTE/lib/src/phy/rf/rf_uhd_imp.cc.1211: Error timed out while receiving samples from UHD.

/home/anpu/src/srsLTE/lib/src/phy/rf/rf_uhd_imp.cc.1211: Error timed out while receiving samples from UHD.

/home/anpu/src/srsLTE/lib/src/phy/rf/rf_uhd_imp.cc.1211: Error timed out while receiving samples from UHD.
4 years ago
Andre Puschmann 7253efe17e rf_blade: fix memleak when device wasn't found 4 years ago
Andre Puschmann 9684b2a63a uhd: fix memleak when USRP wasn't found 4 years ago
Andre Puschmann c327a18f59 radio: fix memleak of dummy buffers 4 years ago
Ismael Gomez 59b9125d4e
Do not send time_spec in between the burst. X300 does not like it (#1583) 4 years ago
Ismael Gomez a4835dd2c8
More accurate MCS reduction when PUSCH carries UCI (#1630) 4 years ago
Xavier Arteaga bd46c40650 srsLTE: fix minor aesthetics 4 years ago
Xavier Arteaga 7bad21c30a Radio: added locks to protect sample rate change concurrent access 4 years ago
Xavier Arteaga 029f36b449 srsLTE: added efficient integer resampler and srsue/srsenb integration 4 years ago
Xavier Arteaga 0e96ef3df0 Channel emulator takes SNR as input parameter 4 years ago
Andre Puschmann 9149cf852d rf_uhd: fix rx timeout error after late with B210
it fixes #1623.

this happens more often with MIMO since lates are more likely here.

after a late, the Rx stream must not be stopped on the B2xx either.

<log>
RF status: O=3, U=0, L=1
/home/anpu/src/srsLTE/lib/src/phy/rf/rf_uhd_imp.cc.1209: Error timed out while receiving samples from UHD.

stop rx stream
./home/anpu/src/srsLTE/lib/src/phy/rf/rf_uhd_imp.cc.1209: Error timed out while receiving samples from UHD.

stop rx stream
/home/anpu/src/srsLTE/lib/src/phy/ue/ue_sync.c.775: Error receiving samples

/home/anpu/src/srsLTE/lib/src/phy/ue/ue_cell_search.c.312: Error calling srslte_ue_sync_work()

/home/anpu/src/srsLTE/lib/src/phy/ue/ue_cell_search.c.272: Error searching cell
</log>
4 years ago
Andre Puschmann 5e40bfe72c mac_pdu: unpack and print BSR index as well as BSR value in bytes
before the BSR was extracted but the actual index (between 0 and 63)
was not stored but directly converted into bytes.

for log parsing and debugging it is easier to follow the index
value. this patch therefore adds both values to the log message
and extends the API accordingly.
4 years ago
Andre Puschmann 55336665b9 rlc: remove timers and sdu queue length from RLC TM ctor
timers aren't used in RLC TM, also the default queue length is
fine to be used at all times.
4 years ago
Andre Puschmann 8e44d0504c radio: fix device mapping for mimo
commit #51c6e8d1 introduced a regression in which the 2nd antenna
port was never considered. All MIMO ZMQ based tests therefore failed.
this fixes #1608
4 years ago
Xavier Arteaga 710700d0eb SRSUE: Fix synch error correction for multiple channels 4 years ago
Andre Puschmann d5da4bd8b6 radio: fix printf for 32bit 4 years ago
Francisco Paisana 7605c7df23 added s1ap handover notification, fixed s1ap asn1 bug, and fixed bad fields for admitted erabs in ho req ack 4 years ago
Francisco Paisana 26f46ea067 add S1 Handover Request handling in target eNB 4 years ago
Andre Puschmann cb2d7f4c16 rf_uhd_generic: add explicit ctor and dtor
clang 6 complained about a missing virtual dtor and thus
failed compilation. this patch adds both, an explicit ctor and dtor.
4 years ago
Andre Puschmann 498af989bf rf_uhd: add missing endl to UHD log macros 4 years ago
Xavier Arteaga 46ab07123d UHD: fix compatibility with 3.9.7 LTS 4 years ago
Andre Puschmann 5867668c0c rf_uhd_rfnoc: fix compilation for UHD before 3.15
the enable_rx_timestamps() for the radio_ctrl object has only been
introduced in Nov 2019 for UHD 3.15 and therefore needs
to be excluded when compiling for 3.14 and below.

Note: According to the original UHD commit in
67dbaa41f2 (diff-60a9387c0fc8406fd5b39fa995dd8c14)
it looks like the Rx timestamps are disabled by default
for UHD versions before 3.15

This commit fixes #1602
4 years ago
Xavier Arteaga 0cd61145ca RFNOC: added optional FPGA FIFO 4 years ago
Xavier Arteaga 237de07ab3 UHD: disable AD936x based device reset 4 years ago
Xavier Arteaga ff8925b6ec UHD: use same timeout policy than previous release 4 years ago
Xavier Arteaga ac76a398fe UHD: Minor stability improvement 4 years ago
Xavier Arteaga d2abaaf719 UHD: add initial test for AD936x based devices during initialization 4 years ago
Xavier Arteaga f80c779d88 RFNOC: added DUC/DDC internal loopback option and test 4 years ago
Xavier Arteaga dcf05f7a53 UHD: Improved RFNOC 4 years ago
Xavier Arteaga 38d9545e99 UHD: API improvement 4 years ago
Xavier Arteaga 405e0c8195 UHD: Check if tree exist before requesting access 4 years ago
Xavier Arteaga 5d43fc903e UHD: fix SPP equal 0 4 years ago
Xavier Arteaga 774c0926a6 UHD: added device args for log level, spp and return if timeout 4 years ago
Xavier Arteaga 88a1ab12c5 UHD: Generic detects if it a AD9361, USB based device and resets if LIBUSB_TRANSFER_ERROR is detected 4 years ago
Xavier Arteaga 04a661d239 UHD: RFNOC class detects custom DDC and DUC 4 years ago
Xavier Arteaga 180fb42dc3 UHD: minor aesthetic corrections 4 years ago
Xavier Arteaga 0f24d510ac UHD: Fix RFNOC DDC frequency calculator 4 years ago
Xavier Arteaga ebf995c621 UHD: better RFNOC detection and configuration 4 years ago
Xavier Arteaga 0e360b3953 UHD: RFNOC Dynamic re-configuration 4 years ago
Xavier Arteaga d9cb51d261 UHD: Added custom DDC/DUC support
UHD: Aesthetic corrections

UHD: minor aesthetic changes
4 years ago
Xavier Arteaga e4a794fdbd UHD: Initial RFNOC implementation
UHD: Fix RFNOC for multiple carriers
4 years ago
faluco cfd3f51931
Import of srslog into srsepc and srsenb. (#1574)
* - Import of srslog into srsepc and srsenb.
* - Removed logger_file and logger_stdout files.
4 years ago
Xavier Arteaga 2271aec6b2 Radio: remove trace 4 years ago
Xavier Arteaga a5fefbfdd3 Radio: fix possible overflow 4 years ago
Xavier Arteaga 51c6e8d1a6 Radio: channel map includes device mapping, unmapped Rx uses dummy buffers 4 years ago
Xavier Arteaga edda1f730a srsLTE: Placeholder Band correction 4 years ago
Xavier Arteaga d8eaa99132 Radio: do not use more radios than necessary 4 years ago
Xavier Arteaga 5258f27490 Fix start-of_burst for PRACH Test USRP 4 years ago
Xavier Arteaga fda1d040e7 SRSENB: implement PUSCH threshold for UCI bits 4 years ago
faluco efdff8ba4c
Import srslog into srsue (#1556)
- Import the srslog project into srslte.
- Ported srsue app to use the new logging framework.
- Implemented a wrapper that dispatches log entries to srslog.
- Renamed an existing log test to be more specific to avoid name clashes.
4 years ago