Commit Graph

1051 Commits

Author SHA1 Message Date
faluco c39ea2f583 Adjust possible type mismatch. 2020-05-08 21:17:05 +02:00
Andre Puschmann 189685b6f5 demod_soft: fix clang warning in demod NEON code
Try to bring back compilation.
Disable temporarily Werror.

Re-enable two simd functions.
2020-05-08 21:17:05 +02:00
Andre Puschmann f67524707d neon: add srslte_simd_b_neg()
clang complained about an uinit var that is returned and it turned
out that we don't even implement that function in NEON.

I've found a nice MIT-licensed header that was easy to integrate.
2020-05-08 21:17:05 +02:00
Andre Puschmann 53ab53ee77 ue_sync: fix tracking in GNSS_SYNC mode
this fixes the subframe-accurate rx in tracking mode.
previously we've only alligned to the next subframe start in find and
when there was a single overflow we've lost the track.

this patch calculates the offset in samples to the actual start of the
subframe (full ms of the receive timestamp) vs. the actual
receive timestamp and uses the value as the "next_rf_sample_offset"
to realign on the next receive
2020-05-08 14:33:12 +02:00
Andre Puschmann ca3b76df6e chest_sl: fix some possible array access at negative index 2020-05-08 14:15:10 +02:00
Andre Puschmann 28c98280d7 ue_dl_nbiot: convert macro to access SF contents into member var
also use srslte_vec_cf_cp() helper functions
2020-05-07 19:53:10 +02:00
Andre Puschmann 9648e47eb6 ue_cell_search_nbiot: fix potential out-of-bounds access
we've used a macro that can return -1 as access index
for an array. this has now been converted in a member
that is initialized and checked during init
2020-05-07 19:53:10 +02:00
Andre Puschmann d64fa19321 ue_dl_nbiot: check sf_idx before accessing buffer
this fixes a potential out-of-bounds access
2020-05-07 19:53:10 +02:00
Andre Puschmann ba4c2f10f0 fix potential out-of-bounds access in static look-up-tables
check index before accessing lut
2020-05-07 19:53:10 +02:00
Andre Puschmann 7aeddfd186 fix potential error where return value -1 is used for loop termination 2020-05-07 19:53:10 +02:00
faluco 340ec61e8e Code review. 2020-05-07 18:53:40 +02:00
faluco e28d9bb473 Fix for 1492950. 2020-05-07 18:53:40 +02:00
faluco 6fdceadc4e Fix for 1480100. 2020-05-07 18:53:40 +02:00
faluco 7bec101831 Small refactor to eliminate a function that causes undefined behaviour. 2020-05-07 18:52:01 +02:00
Andre Puschmann a0665b721e prach: fix illegal mem access when wrong configs are passed
this fixes Coverity issue 1480095
2020-05-07 13:25:02 +02:00
Xavier Arteaga f69aad3aac Clean up channel class 2020-05-07 13:09:46 +02:00
faluco d9529a3a8f Fix for 1480071. 2020-05-07 10:12:29 +02:00
faluco 0ba9164ae2 Fix for 1480055. 2020-05-07 10:12:29 +02:00
Andre Puschmann 8185b7c793 ue_dl: fix potential out-of-bounds access when decoding DCIs
fixes Coverity issue 1480088 where srslte_ue_dl_find_dl_dci() expects
an array of struct srslte_dci_dl_t but is only given one element.

srslte_ue_dl_find_and_decode() itself only uses the first decoded
message but find_dl_dci() may still decode more than that
2020-05-07 10:11:21 +02:00
faluco 9efa24bfa9 More warning fixes. 2020-05-07 10:10:24 +02:00
faluco d3cb5dcffd Start fixing clang 10.0.0 warnings.
Disable -Werror temporarily.
2020-05-07 10:10:24 +02:00
faluco 74dae2c287 - Small refactor to make math operations without implicit casts. 2020-05-07 10:10:24 +02:00
faluco d7433a551b Initialize TDD matrix with shorter symbols using macros. While there move another matrix next to where it is used. 2020-05-07 10:10:24 +02:00
faluco 7ff251f112 - Fixed warnings caught by Clang 9.0.0 2020-05-07 10:10:24 +02:00
Andre Puschmann f5d55847c2 nbiot: add r14 parameter to NPDSCH eNB and file test and make it the default
also add skip SIB2 option to UE example
2020-05-04 17:52:21 +02:00
Andre Puschmann 92fb6a94f4 npdsch: use r14 bcch sequence when encoding SIB 2020-05-04 17:52:21 +02:00
Andre Puschmann 2c6a95c1d5 nbiot_sync: fix potential segfault during sync when time gap is too big 2020-05-04 17:52:21 +02:00
Xavier Arteaga d94078d543 Minor changes
Fix UE sequence generation

minor change
2020-05-01 21:07:33 +02:00
Xavier Arteaga 2d39c7261c renamed vector copy prefix from to 2020-04-30 13:43:17 +02:00
Andre Puschmann 9d529ba0d5 fix compilation on arm, add missing declaration and headers 2020-04-30 13:37:49 +02:00
Andre Puschmann cd26f6988c temporarily disbale rf_zmq_test test due to hanging on exit on some platforms 2020-04-30 09:48:12 +02:00
Andre Puschmann 6a764ae87c psbch: change memcpy() to srs_vec alternative 2020-04-29 15:31:29 +02:00
Ismael Gomez c0054140e9 Configure properly PUCCH CS mode for CA in ConnectionReconfiguration. Allocate n_pucch_cs resource and cqi/sr at rrc::ue constructor 2020-04-29 10:11:43 +01:00
Xavier Arteaga 928439b94c DL Wiener: optimized with inlining 2020-04-28 17:26:01 +02:00
Xavier Arteaga 9d0a3268e8 Added DL channel estimator algorithm options 2020-04-28 17:26:01 +02:00
Xavier Arteaga 355b2ed7e1 Wiener: fixed more issues 2020-04-28 17:26:01 +02:00
Xavier Arteaga 9b9389ead5 DL Wiener: bug fixed and verified 2020-04-28 17:26:01 +02:00
Xavier Arteaga 3ab5f3a7e8 Initial wiener filter integradion in DL channel estimator 2020-04-28 17:26:01 +02:00
Xavier Arteaga 5199aaa94e DL Wiener: Fixed minor header issues, format and optimization 2020-04-28 17:26:01 +02:00
Xavier Arteaga 6248ab43e3 Minor optimization in SIMD dot product kernel 2020-04-28 17:26:01 +02:00
Xavier Arteaga f4eb61a37c Implementation DL channel estimator using wiener filter 2020-04-28 17:26:01 +02:00
Xavier Arteaga fff96d9aac Phy utils: Added initial matrix inverse 2020-04-28 17:26:01 +02:00
Xavier Arteaga 3f6eca1aea Initial Wiener channel estimator 2020-04-28 17:26:01 +02:00
Xavier Arteaga fe141dc002 Initial Wiener channel estimator 2020-04-28 17:26:01 +02:00
yagoda 1f6d5fd23a small fixed to limiting prach search 2020-04-28 14:40:20 +02:00
yagoda faf1cf6975 limiting prach search space to number of prachs set in sib2 2020-04-28 14:40:20 +02:00
Xavier Arteaga 0ad99a35f9 Minor changes 2020-04-28 09:07:46 +02:00
Paul Sutton 8692e08737 Close rf device after use 2020-04-27 22:37:52 +02:00
Xavier Arteaga 28b2a69c8a ZMQ module uses default base srate 2020-04-27 21:03:44 +02:00
Xavier Arteaga b9583d4182 Fix Extended CSI request bits in DCI 2020-04-27 21:03:44 +02:00
Andre Puschmann 8d52343c72 pssch: address review comments 2020-04-27 21:01:46 +02:00
Andre Puschmann d6e0153b40 sci: add SCI format 1 transmission format flag 2020-04-27 21:01:46 +02:00
Andre Puschmann 7109379d83 pssch_test: fix memleak 2020-04-27 21:01:46 +02:00
Andre Puschmann edcf6d1e51 pssch_test: zero sample vectors after alloc 2020-04-27 21:01:46 +02:00
Andre Puschmann 723503fded pssch_test: disable PSSCH tests that currently fail decoding TB 2020-04-27 21:01:46 +02:00
Andre Puschmann 28de7a9c93 pssch_test: expose start SF index as parameter and use helper to calc PRB 2020-04-27 21:01:46 +02:00
Andre Puschmann 955960f22d write decoded PSSCH symbols to file with PHY debug enabled 2020-04-27 21:01:46 +02:00
luis_pereira87 baf0ad5bf4 PSSCH implementation 2020-04-27 21:01:46 +02:00
Andre Puschmann 95bc7b48df ue_dl_nbiot: fix storing of softbits after first decoding failed
memcpy wasn't using sizeof(float)
2020-04-27 21:00:36 +02:00
Andre Puschmann 4c242f8d77 ue_dl_nbiot: remove fixme's 2020-04-27 21:00:36 +02:00
Andre Puschmann 5a95af6ce1 ofdm: move var init into loop 2020-04-27 15:54:54 +02:00
Andre Puschmann a82b2da2dd dft_precoding: add helper to get largest valid PRB 2020-04-27 15:54:54 +02:00
Andre Puschmann 04051a5cd0 soapy: add missing error messages for some soapy calls 2020-04-27 15:32:38 +02:00
Andre Puschmann 13b59b42c7 npdcch: replace fixme with todo 2020-04-24 12:21:17 +02:00
Andre Puschmann a98a94e74b fix some non-critical warnings found by Coverity scan 2020-04-23 20:58:46 +02:00
Xavier Arteaga 7291a5db91 Implement on the fly sequence generation 2020-04-23 09:00:15 +02:00
Xavier Arteaga 89dcd6339f More LGTM fixes 2020-04-22 18:01:43 +02:00
Xavier Arteaga 60c4daccab Removed redundant code 2020-04-22 18:01:43 +02:00
Xavier Arteaga 77d5dedddc Fix LGTM warnings and recommendations 2020-04-22 18:01:43 +02:00
Xavier Arteaga 562590e595 Fix LGTM warnings 2020-04-22 18:01:43 +02:00
Xavier Arteaga c26a70c8da Fix compilation 2020-04-20 18:28:35 +02:00
Andre Puschmann 80bdb0ea17 soapy: fix compilation on Soapy version < 6 2020-04-20 17:17:33 +02:00
Xavier Arteaga a7525d3e12 Fix somememory leaks 2020-04-20 16:10:27 +02:00
Xavier Arteaga e6792cf9b7 Refactored OFDM and added half CP window offset in UL Demodulator 2020-04-20 16:10:27 +02:00
Xavier Arteaga 4756319e8f Reduce PHY logging 2020-04-20 16:10:01 +02:00
Andre Puschmann 34bc192f70 soapy: fix bug in selecting soapy device 2020-04-19 21:08:31 +02:00
Andre Puschmann e7f28a57f3 soapy: reuse device args again as stream args 2020-04-19 21:08:31 +02:00
Andre Puschmann 8f79619efe soapy: disable LimeSDR specific modifciations
this turns off some Lime specific tweaks that we did, for example
turning off streaming before changing the sampling rate.

those are now implemented inside the LimeSuite (as of 20.01)
and are no longer required here

patch also disable the explicit BW setting and async background thread
2020-04-19 21:08:31 +02:00
Andre Puschmann c145d80547 nbiot: address review comments 2020-04-17 23:12:11 +02:00
Andre Puschmann e76e31e652 adding NB-IoT DL shared channel, UE DL object and PHY examples 2020-04-17 23:12:11 +02:00
Andre Puschmann 890436e07f remove uneeded include 2020-04-17 23:12:11 +02:00
Andre Puschmann dcb9004a71 zmq: refactor zmq argument parsing, allow zero indexing
It allows to provide an index for tx_port, rx_port, tx_freq and rx_freq even
for the first (and possibly only) port. So for example a MIMO config would be this for example:

tx_port0=tcp://*:2001,tx_port1=tcp://*:2003,rx_port0=tcp://localhost:2000,rx_port1=tcp://localhost:2002
2020-04-17 20:47:20 +02:00
Xavier Arteaga fa776b1243 minor changes 2020-04-17 10:23:11 +02:00
Xavier Arteaga d76c77c188 Optimized PR sequence generator 2020-04-17 10:23:11 +02:00
Xavier Arteaga 375ac1388a Implemented SSE bit pack vector 2020-04-17 10:23:11 +02:00
Xavier Arteaga 24466fd242 Added PR sequence unit test/benchmark 2020-04-17 10:23:11 +02:00
luis_pereira87 653a1e0619 Added PSBCH Extended CP 2020-04-15 21:59:14 +02:00
Andre Puschmann 8e7b49b949 pscch: fix PSCCH memory allocation and failing tests
the missing mem zero'ing caused the unit test to fail on some
machines where the memory wasn't initialized by default.

for d and d16 allocate the maximum number of bits, not
only the max length of a DCI
2020-04-15 13:42:26 +02:00
Andre Puschmann e495c4d553 vector: add uint8 zero'ing function 2020-04-15 13:42:26 +02:00
Xavier Arteaga 11a8db202a Removed PDSCH traces 2020-04-15 11:39:57 +02:00
Xavier Arteaga 210ce0ac48 Fix modulation table 2020-04-15 11:39:57 +02:00
Xavier Arteaga 93771126ed More clear PDSCH CP function 2020-04-15 11:39:57 +02:00
Xavier Arteaga 029f8c1562 Removed redundant test cases 2020-04-13 20:43:51 +02:00
Xavier Arteaga e25acdfd1d AWGN channel: same behaviour for all CPU architectures 2020-04-13 20:43:51 +02:00
Xavier Arteaga a0fb150e58 Fix memory issues in PSCCH decoder 2020-04-13 20:39:15 +02:00
yagoda eed6240a4b adding expected results to the viterbi test for neon 2020-04-13 20:36:44 +02:00
Xavier Arteaga 5b7493cab5 Added 256QAM modulation tables to scheduler 2020-04-10 17:48:53 +02:00
Xavier Arteaga 5e45e63519 Multiple fixes HARQ ACK/NACK feedback and CSI reporting for MIMO and CA 2020-04-10 15:58:25 +02:00
Xavier Arteaga 784bf81a1a Multiple fixes HARQ ACK/NACK feedback and CSI reporting for MIMO and CA 2020-04-10 15:58:25 +02:00
Xavier Arteaga cb6a8444df Added srsLTE helper for determining number of RI bits 2020-04-10 15:58:25 +02:00
Tiago Alves 47145c18b7 sidelink: refactor channel estimation 2020-04-10 14:58:18 +02:00
Xavier Arteaga 9a2b0b7cc7 Standard vector allocation uses vector library 2020-04-02 20:49:58 +02:00
Xavier Arteaga 6d355ab61e SRSUE: Fix HO initial CFO 2020-04-02 13:52:23 +02:00
Andre Puschmann 6911ee3004 soapy: add macro to disable stream stopping before changing sample rate 2020-03-31 12:32:52 +02:00
Andre Puschmann ed646de7f1 soapy: fix segfault when launching and no device args where provided 2020-03-31 12:32:52 +02:00
Andre Puschmann c82e7d313a soapy: fix stream setup for new Soapy API
this caused an issue when compiling with latest SoapySDR drivers
that changed API for setupStream
2020-03-31 12:32:52 +02:00
Ismael Gomez 8e07547909 Fix device_args in x300 when setting master_clock 2020-03-26 19:12:17 +01:00
Xavier Arteaga cca3cccfbe Improved fading model generation 2020-03-26 08:23:07 +01:00
Xavier Arteaga a44a61d781 Fix HST channel emulator for keeping coherent phase between frames 2020-03-26 08:18:24 +01:00
Ismael Gomez 95c6916987
Improve robustness in RF Overflow (#1124)
* Use task id to track old background tasks in RA procedure

* Improve robustness against RF overflow in PHY

* Increase SNR out-of-sync threshold

* Do not change frequency if it's the same

* Increase sync priority

* Increase time to start receiving to reduce input buffer occupation

* Use scoped lock in sf_worker
2020-03-25 16:56:32 +01:00
Xavier Arteaga cd2f86687f Correction in AWGN generator 2020-03-24 12:16:28 +01:00
Xavier Arteaga ca9611654d Minor correction in AWGN channel test 2020-03-24 12:16:28 +01:00
Xavier Arteaga 8e891b7038 Added AWGN channel to SRSUE and SRSENB 2020-03-24 12:16:28 +01:00
Xavier Arteaga c107b04f5a Implemented high performance AWGN generator 2020-03-24 12:16:28 +01:00
Xavier Arteaga 8bf7acdeaf Added vector malloc for i32 and u32 2020-03-24 12:16:28 +01:00
Xavier Arteaga 2c93f6d20a Fix PUCCH DMRS correlation 2020-03-22 08:49:12 +01:00
Xavier Arteaga ea1b6b60dd Fix UHD memory issues 2020-03-18 18:34:05 +01:00
Xavier Arteaga f3f03ad12d SRSUE PHY: Add extra debugging information to errors 2020-03-18 16:12:51 +01:00
Xavier Arteaga d191b1c8e0 Do not bundle ACK/NACK if PUCCH CS and no ACK to transmit 2020-03-17 17:21:17 +01:00
Xavier Arteaga 0408d357a7 Minor fixes 2020-03-16 15:07:12 +01:00
Xavier Arteaga e832769ae6 Updated copyright 2020-03-16 11:26:06 +01:00
yagoda 4f818b04ae adding return macros to ringbuffer 2020-03-16 07:48:10 +01:00
yagoda 943d90bc48 consolidating different ringbuffer functionalities into one, adding unit tests for ringbuffer 2020-03-16 07:48:10 +01:00
Xavier Arteaga 44593120c6 SRSUE: Zero UL signal if no transmission 2020-03-13 14:01:58 +01:00
Xavier Arteaga 66b98cf224 Fix ZMQ typo 2020-03-13 14:01:58 +01:00
Xavier Arteaga 5af89513eb use double precission for frequency in srsue and srsenb 2020-03-13 14:01:58 +01:00
Xavier Arteaga 834a081c09 Add EPRE measurement to PUSCH decoder 2020-03-13 14:01:58 +01:00
Ismael Gomez e8b8c9922e
Add RF per-channel frequency band constraints (#1026) 2020-03-12 23:06:09 +01:00
Francisco Paisana fad897cb35 DL scheduler metric now takes into account the min and max of RBGs possible. This is to forbid segmentation of SRB0 allocations 2020-03-10 22:06:07 +00:00
Xavier Arteaga 002a68e183 SRSENB: hard-coded parametrized PUCCH DMRS correlation threshold 2020-03-10 09:19:54 +01:00
Xavier Arteaga 64caa4321b Fix UL control decoding. Some minor aesthetic changes. 2020-03-10 09:19:54 +01:00
Xavier Arteaga 44a5ce172e Added vector srslte_vec_avg_power_sf 2020-03-10 09:19:54 +01:00
Pau Espin Pedrol 3633859d09 rf_imp.c: Ignore case when matching device_name
This allows using device_name = UHD, uhd, ZMQ, zmq, etc.
2020-03-09 11:08:12 +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
Xavier Arteaga 5aff042c6e Avoid repeated PDCCH locations 2020-03-06 13:58:49 +01:00
Xavier Arteaga 02dd5bd8c4 Fix PUSCH segfault 2020-03-06 13:58:49 +01:00
Xavier Arteaga da701cd82b SRSENB: Added PUSCH TA and EVM measurement. Some more PHY cleanup. 2020-03-06 13:58:49 +01:00
Xavier Arteaga 47cbbcbd57 Improve PUSCH UCI decoder 2020-03-06 13:58:49 +01:00
Andre Puschmann 4553ce7ff1 temporarily disable SCI checks for PSCCH file tests 2020-03-06 11:20:11 +01:00
Francisco Paisana a6320f93b8 remove remaining const_casts 2020-03-05 20:23:07 +00:00
Francisco Paisana ec1f1cc677 remove const_casts from scheduler. Fix ODR issue 2020-03-05 20:23:07 +00:00
Andre Puschmann 3adfbcadbc disbable three Sidelink tests that are currently failing on AVX2 2020-03-03 16:22:51 +01:00
Andre Puschmann c471f6c900 chest_sl: tiny refactor and comments 2020-03-03 16:22:51 +01:00
Andre Puschmann 3e51734a39 adopt sample path for sync_sl_test 2020-03-03 16:22:51 +01:00
Andre Puschmann e4b5fa122f add set_cell() call to PSCCH and allocate for max PRB in pscch_init() 2020-03-03 16:22:51 +01:00
Andre Puschmann 151ce10a96 remove SL specific CFO correction method 2020-03-03 16:22:51 +01:00
Andre Puschmann 09f7355870 use srslte_cell_sl_t in PSCCH 2020-03-03 16:22:51 +01:00
Andre Puschmann 14000f7ae7 adding phy_common_sl.{c,h} 2020-03-03 16:22:51 +01:00
Andre Puschmann 8b70ff7654 simplify SL chest and add RSRP and sync error measurements 2020-03-03 16:22:51 +01:00
Andre Puschmann d85339187a pass offset parameter to CMW capture to compensate SFO 2020-03-03 16:22:51 +01:00