Commit Graph

401 Commits

Author SHA1 Message Date
Andre Puschmann 81b46723f6 adding NPDCCH 2020-01-28 17:46:54 +01:00
Andre Puschmann 073c57dc3d add NB-IoT DCI formats and move define to phy_common 2020-01-28 17:46:54 +01:00
Xavier Arteaga 9ee651d094 srsLTE: Added set vector zeros for float and cf 2020-01-28 11:22:50 +01:00
Andre Puschmann d98bc71057 fix PSBCH and use UL-SCH interleaver 2020-01-14 21:23:43 +01:00
Andre Puschmann 2e7a357226 expose UL-SCH interleaver to use in Sidelink 2020-01-14 21:23:43 +01:00
Xavier Arteaga bca5d1a95a srsLTE: extend viterbi test 2020-01-13 16:20:31 +01:00
Xavier Arteaga 0912701cb0 srsLTE: sidelink minor corrections 2019-12-23 23:08:32 +01:00
Andre Puschmann 7de51c8236 refactor Sidelink PSBCH and DMRS code 2019-12-23 23:08:32 +01:00
Xavier Arteaga 11eafa8ab4 srsLTE: FFTW wisdom gets loaded and saved by default 2019-12-23 22:57:37 +01:00
Xavier Arteaga c92dce71b7 srsLTE: AGC only uses boundaries for requesting gain to Radio 2019-12-23 22:57:37 +01:00
Tiago Ferreira Alves 3fed21ce3e PSSS and SSSS implementation 2019-12-18 11:27:10 +01:00
Andre Puschmann 476f970ee1 replace FIXME with TODO 2019-12-18 11:25:56 +01:00
Pedro Alvarez c5979f59eb Clang format UE, eNB and lib (#850)
* Clang-formated UE, eNB and lib.
* Fixed compiling errors from clang-format.
* Fix linking issues introduced by clang-format
* Fix poor formating in initializing arrays of arrays.
* Fix mistake in conflict resolution on rm_turbo.c
* Re-apply clang format to gtpc_ies.h
2019-12-16 16:04:22 +01:00
Xavier Arteaga 78dd9d7854 SRSLTE: Added float and complex vector allocation 2019-12-16 12:37:19 +01:00
Andre Puschmann 8bec22ff11 fixed naming for ue_sync_nbiot 2019-12-10 16:53:44 +01:00
Andre Puschmann 4dbbcaa668 add cell search and USRP capture examples for NB-IoT 2019-12-10 16:53:44 +01:00
Xavier Arteaga d96836a0fa SRSUE: Stack TTI based purely in radio timestamp 2019-12-04 15:29:43 +01:00
Ismael Gomez 713d98ecb9 Fix issue in AGC confusing dB with linear 2019-12-02 17:49:30 +01:00
Xavier Arteaga 8dd1c59e18 Added amplitude and power conversions to dB and viceversa 2019-12-02 09:47:22 +01:00
Andre Puschmann 40bacb80b1 fixing comments from Xavier's review 2019-11-17 18:51:24 +01:00
Andre Puschmann e05ecdb139 adding NB-IoT DL channel estamiation and NPBCH code 2019-11-17 18:51:24 +01:00
Andre Puschmann 792e2f7f8f add NB-IoT scrambling sequences 2019-11-17 18:51:24 +01:00
Ismael Gomez 3828e03f33
Refactor in eNodeB, add channel emulator and fixes in OFDM
* Added channel emulator to srsENB. Added support for fixed delay

* Bug in OFDM when using nonguru mode

* A few changes and refactor in eNodeB
2019-10-23 11:09:39 -05:00
Xavier Arteaga 423475173d Refactored magnitude and argument extraction from sf_worker 2019-10-21 16:17:37 +02:00
Xavier Arteaga 10480f62b3 SRSENB: Split sf_worker and cc_worker 2019-10-21 16:17:37 +02:00
Ismael Gomez 1d83bb08e2 Changes in ACK procedure to support CA. Tested 1 cell in SISO/MIMO 2019-10-14 11:20:35 +02:00
Xavier Arteaga 125f1e7282 ZMQ: Split Tx and Rx, bug fixes and clean up 2019-09-20 18:32:38 +02:00
Xavier Arteaga 6eb26be34e Fixed include headers 2019-09-20 16:20:31 +02:00
Xavier Arteaga 35f85c651c SRSUE: Added SCell synchronizer and measurements based on reference signals 2019-09-20 16:20:31 +02:00
Xavier Arteaga 8e17aba5d8 Improved SSS decoding and improved scell_search_test 2019-09-20 16:20:31 +02:00
Xavier Arteaga dedf0f2f78 Added initial time to delay channel simulator 2019-09-20 16:20:31 +02:00
Xavier Arteaga 368690ea6b SRSUE: Added intra frequency SCell search test 2019-09-20 16:20:31 +02:00
Xavier Arteaga d7c1a0bda9 Added High Speed Train model to channel emulator 2019-09-20 16:20:31 +02:00
Xavier Arteaga db5a21e659 Remove set_master_clock_rate from PHY RF API 2019-09-20 15:43:07 +02:00
Andre Puschmann 4869509c7b add write function to netsource
this is useful for listening sockets to also send responses,
i.e. implement bi-directional communication
2019-09-16 21:39:15 +02:00
Ismael Gomez bfddc55148
RRC-PHY interface (#639)
RRC-PHY interface refactor. Moved RRC-MAC interface to rrc_asn1_utils and created RRC-PHY interface also in rrc_asn1_utils. All ASN1 includes should be made from rrc_asn1_utils only keeping ue_interfaces clean of ASN1

Tested with different common and dedicated configurations (64QAM UL, 256QAM, CA, SRS enabled/disabled, etc)
2019-09-04 16:59:10 +02:00
Andre Puschmann ada4e6644f fixing various issues in NB-IoT sync code detected by Coverity and clang-tidy 2019-08-08 11:12:49 +02:00
Andre Puschmann 80655db4a4 fix missing include in filesink 2019-08-05 11:11:04 +02:00
Andre Puschmann 95a5c2dcdb adding NB-IoT sync code 2019-08-05 11:11:04 +02:00
Ismael Gomez 19066c49ab Ad Rel10 info to dci logs 2019-07-30 18:18:44 +02:00
Andre Puschmann e0bd7f156d replace remaining warning macros with pragma message 2019-07-23 15:38:21 +02:00
Xavier Arteaga 5e49aca835
Merge pull request #570 from softwareradiosystems/feature_256qam_fix
Resource allocation extended tables and PDSCH table 2 for 256QAM
2019-07-12 12:32:47 -04:00
Xavier Arteaga aa6652155c Phy: added ue_ul normalization mode parameter 2019-07-12 13:05:10 +02:00
Xavier Arteaga 20823e191d SRSUE: Added UL force amplitude optional parameter 2019-07-12 13:05:10 +02:00
Guillem Foreman 535325bc37 srsLTE: added resource allocation extended tables for 256QAM and integration with PDSCH test 2019-07-04 15:49:43 +02:00
Ismael Gomez 67b6a40c1b Use correlation for neighbour RSRP measurement 2019-06-18 17:55:41 +02:00
Guillem Foreman 50edd9a325 Initial 256QAM Modem and Demodulator 2019-06-17 18:04:32 +02:00
Joseph Giovatto 0bb7f590b3 Moved include complex.h from header files to impl files to prevent
error /wr to complex.h and c linkage in CentOS 7.
2019-06-14 12:19:57 +02:00
Ismael Gomez 594d62f229 Added read_block function to ringbuffer 2019-06-03 21:39:24 +02:00
Ismael Gomez 19cb5c172b Added read-and-convert function to ringbuffer 2019-06-03 21:19:06 +02:00
Xavier Arteaga b903e61548 Initialise all channel emulator attributes by default 2019-05-31 10:51:11 +02:00
Xavier Arteaga 9c84f8e3fd SRSLTE: Added Uniform Random vector generator; Delay channel test; Fixed Delay channel SEGFAULT; SRSUE channel unique pointer; 2019-05-30 13:07:23 +02:00
Xavier Arteaga 2ffa1f9f1e SRSUE: Added RLF simulator in channel emulator and integrated it in SRSUE. Removed Zeros Command 2019-05-30 13:07:23 +02:00
Xavier Arteaga 7c97e40e63 SRSUE: Improved internal channel emulator help 2019-05-30 13:07:23 +02:00
Xavier Arteaga 9ab2b2de81 SRSUE: Created delay channel emulator and added fading to the UE 2019-05-30 13:07:23 +02:00
Xavier Arteaga 2c78111666 SRSUE: Fixed CLang Tidy in ue.cc 2019-05-27 12:21:57 +02:00
Andre Puschmann 4edcedd2b3 add helper to create cexp function for entire subframe 2019-05-16 12:32:36 +02:00
Andre Puschmann 4f42c0796c add CFO correction method with offset
- CFO correction which allows to specify the offset within
  the correction table to allow phase-continuity across
  multi-subframe transmissions (NB-IoT)
2019-05-16 12:32:36 +02:00
Andre Puschmann e647dac3e4 add simple cross-correlation method
- implements a cross-correlation that takes the complex conjugate
  of one of the input signals (filter)
- the fft of this input signal is only computed once
2019-05-16 12:32:36 +02:00
Andre Puschmann 13c17ad9e7 add text output capabilities to filesink 2019-05-16 12:32:36 +02:00
Ismael Gomez efe74e765b Fix coverty non-inititalized variables in tdec 2019-05-08 10:56:48 +02:00
Ismael Gomez 786830daf3 Fix minor issues for TDD 2019-05-02 19:31:46 +02:00
Xavier Arteaga c18a59730c Solved PHY unit test memory leaks 2019-04-30 15:56:47 +02:00
Xavier Arteaga baac179d95 Added vector complex sine generator 2019-04-30 15:08:39 +02:00
Xavier Arteaga 7bd3a9a43b Added ringbuffer read function with timeout 2019-04-30 15:06:39 +02:00
Xavier Arteaga a1a797589a Added UE synchronization error metric (hard-coded disabled by default) 2019-04-30 15:02:08 +02:00
Xavier Arteaga 06a9d8eb6f Added vector estimate frequency 2019-04-30 14:52:16 +02:00
Xavier Arteaga 4187781268 Random module return pointer object and solved NAN issue 2019-04-30 14:48:13 +02:00
Ismael Gomez 47acbc1e08 Compute per-antenna and per-port chest metrics in chest_res 2019-04-29 15:25:01 +02:00
Andre Puschmann 4b01a2e4a0 update copyright notice 2019-04-29 09:20:02 +02:00
Ismael Gomez 7780b1aba5 add tdd/ca support 2019-04-25 20:57:58 +02:00
Andre Puschmann f2266bb264 add uint64 (sample based) time stamp helpers 2019-04-22 15:35:26 +02:00
Xavier Arteaga ed6b138cb2 Added safe and good quality random generator in phy/utils 2019-04-21 21:41:17 +02:00
Xavier Arteaga c42fbbe6a5 Created 3GPP fading channel emulator 2019-04-21 15:27:31 +02:00
Xavier Arteaga c782ef2aa5 Solved unitialised values in UE (up to prach) and free 2019-01-22 12:23:57 +01:00
Francisco Paisana 0204db2e12 new asn1 rrc library 2019-01-17 17:43:13 +01:00
Ismael Gomez a8a0c3ebe7 Fixed compilation in zynq 2018-12-12 14:34:13 +01:00
yagoda 3762738bc1 adding windowed neon turbodecoder (can be further optimized) 2018-12-12 11:27:07 +01:00
yagoda 69dc16c4c8 changes to fix arm compilation 2018-11-27 14:27:59 +01:00
Xavier Arteaga 8c3a0153b9 Added missing AVX512 intrinsics and flags. Fixes #291. 2018-11-21 18:09:09 +01:00
Andre Puschmann 0380c83175 remove RF device calibration settings from UE/eNB config
- this remove RF calibration parameters that were an extra
  section in the eNB/UE config but were hardly used (only old bladeRF)
- a better way to pass those parameter would be through the
  device args in the normal rf config section
2018-10-01 21:59:07 +02:00
Andre Puschmann d981f129e0 Merge branch 'master' into next 2018-09-20 12:54:05 +02:00
IgnasJ 67c8bf1368 Fixes for srsLTE on ARM (#229)
* Fix ARM NEON code compilation

Fix LV_HAVE_NEON defintion incorrecly used instead of HAVE_NEON in some places
Replace vqabsq_s32 with vabsq_f32 as vqabsq_s32 requires int type (fails to compile)
Fix missing NEON code path in mat.h in srslte_mat_2x2_mmse_csi_simd()

* Fix timestamp overflow issue on 32-bit systems with Soapy driver

'time_t secs' can be 32-bit on some systems. This causes calculation:
'secs * 1000000000;' to overflow.
2018-09-19 17:34:59 +02:00
Ismael Gomez 0294923e2b Merge branch 'next' of github.com:softwareradiosystems/srsLTE into next 2018-09-19 16:42:11 +02:00
Ismael Gomez 197d855d3f Fix issue #240 2018-09-19 16:41:59 +02:00
Xavier Arteaga a9fcd64b1f Fixes #259: Turbodecoder AVX2 instructions under LV_HAVE_AVX (instead of LV_HAVE_AVX2) 2018-09-19 12:35:37 +02:00
Ismael Gomez 826fbccf11 Fixed memory leaks in new decoder 2018-09-07 14:05:45 +02:00
Ismael Gomez bc9d342959
New optimization on the PHY for both UE and eNodeB (#251)
* New parallel Turbodecoder implementation in SSE/AVX 16-bit and 8-bit

* Optimised UL Interleaver

* Include TB CRC calculation in FEC encoder

* New threading priorities
2018-09-04 17:51:35 +02:00
Xavier Arteaga a21db86a78 SCH Codeblock CRC is computed at same time than parity 0 2018-07-17 15:37:57 +02:00
Pedro Alvarez 8017b792cf Changing SRSLTE_PHY_DEBUG back to SRSLTE_DEBUG. 2018-07-13 11:59:03 +01:00
Pedro Alvarez 7aaa9a1789 Moved srslte_debug_handle_crash to common/debug.c 2018-07-09 14:33:50 +01:00
Pedro Alvarez 96786e96da Splitting the lib debug into phy and common debug. 2018-07-09 13:15:35 +01:00
Ismael Gomez 8c92f3fddc
Improvements and fixes on srsENB scheduler (#228) 2018-06-29 11:25:22 +02:00
Xavier Arteaga f01f7b4945 Added Vector max abs SIMD function 2018-06-28 09:28:17 +02:00
Ismael Gomez e18ba937dc Limit uplink signal normalization to avoid clipping 2018-06-27 16:29:40 +02:00
Xavier Arteaga 5e4fb48184 Refactored CQI reporting logging in UE. Fixes #199 2018-06-25 14:57:12 +02:00
Xavier Arteaga 301415a00a Fixed AGC out of bounds gain 2018-06-11 13:14:47 +02:00
Xavier Arteaga 6ab69b1d4c Added PDSCH coworkers 2018-06-06 16:59:00 +02:00
Xavier Arteaga 681b98ae50 Added vector CFO 2018-05-25 16:06:32 +02:00
Andre Puschmann 61d525ea80 Merge branch 'next' into embms_merge_final 2018-05-22 10:39:05 +02:00
Ismael Gomez 467ba4e326 Average sampling offset estimate before adjusting timing to be more robust against EVA and ETU fading 2018-05-21 23:00:57 +02:00
yagoda 9d7d6c9415 adding adaptations to the phy layer for mbms 2018-05-15 16:13:03 +02:00
Ismael Gomez 3bf9ca6195 Send end of burst on idle 2018-04-26 17:33:21 +02:00
Xavier Arteaga 0bc3be7abb Added DL CSI decoding to TM2 and TM3 2018-04-20 11:27:39 +02:00
Ismael Gomez 384e0f8649 Fixed UL interleaver (missing SIMD deinterleaver) 2018-04-17 19:16:55 +02:00
Xavier Arteaga d0d5893a1c New DL channel noise estimator based on RS 2018-04-10 13:25:26 +02:00
Andre Puschmann e7a268d79b fix SIMD compile issue on NEON 2018-04-04 12:20:32 +02:00
David Rupprecht 9d71bec7b6 Unified include guards 2018-03-31 19:04:04 +02:00
Ismael Gomez 321a750f56 Added features to ringbuffer 2018-03-16 11:23:37 +01:00
Ismael Gomez 809c550ca2 Use RS power estimation for serving cell RSRP/SNR measurements. Use correlation of RS sequences for neighbour cell verification of Cell ID 2018-03-13 19:07:15 +01:00
Ismael Gomez c2098ad626 Removed unused sample offset correction 2018-03-13 18:52:21 +01:00
Andre Puschmann 57e0c01fc4 check max buffer length in hex print 2018-03-07 21:23:57 +01:00
Ismael Gomez 3adc6b5cbc
Merge pull request #158 from softwareradiosystems/csi
Csi
2018-03-07 14:40:57 +01:00
Andre Puschmann c198547728 add new RF RX error type and make the UHD driver issue that if anything unexpected happens 2018-03-04 21:53:06 +01:00
Xavier Arteaga ec901373d4 Correction ofo simd.h for AVX512 2018-03-01 14:01:36 +01:00
Xavier Arteaga 2a69211f32 SCH does not terminate all codeblocks if one fail. Also, SCH does not decode blocks with CRC=OK 2018-03-01 14:01:36 +01:00
Xavier Arteaga 6fc9c96c58 Added CSI softbits weightening for Single antenna transmission 2018-02-28 12:07:31 +01:00
Xavier Arteaga ff5ac85c7d Added int16 to float SIMD vector function 2018-02-21 14:51:09 +01:00
Ismael Gomez 2cf6f96f24 Fixes #6 AGC 2018-02-13 15:06:22 +01:00
Ismael Gomez a279ab47f0 Improved neighbour cell accuracy. Changed RRC to avoid segfault when neighbour cell addition 2018-02-02 19:31:22 +01:00
Ismael Gomez 2347fe0e6f Fixed incorrect DCI location bug. Make all calls to regs/pdcch atomic w.r.t. the CFI 2018-02-02 16:27:11 +01:00
Andre Puschmann 8258c28a4c Revert "fix coverity issue in macro returning negative nof symbols per subframe"
This reverts commit ed46abbad0.
2018-02-01 15:53:09 +01:00
Andre Puschmann ed46abbad0 fix coverity issue in macro returning negative nof symbols per subframe 2018-01-31 12:17:05 +01:00
Xavier Arteaga c4247c7aca Fix coverity for complex 16bit 2018-01-31 10:44:52 +01:00
Xavier Arteaga 0299e9aae1 Fixed Aperiodic reporting RM31 for TM4 (Amarisoft proof) 2018-01-31 10:18:48 +01:00
Ismael Gomez 71a2ad8ea8 Catches RA PDCCH order in Format1A 2018-01-29 16:33:28 +01:00
Ismael Gomez 76969932dc
Merge pull request #134 from softwareradiosystems/enbmimo
Enbmimo
2018-01-17 11:03:34 +01:00
Ismael Gomez 0750ff3091 Option to not wrap when reading signal from file 2018-01-16 19:33:51 +01:00
Xavier Arteaga 57d443ace2 Merge branch 'next' into enbmimo 2018-01-15 13:56:50 +01:00
Xavier Arteaga 9ffdb1e62d Refactored PMI/CQI/RI reporting 2018-01-11 14:37:01 +01:00
Xavier Arteaga de654cd344 Merge branch 'next' into enbmimo 2018-01-10 16:30:36 +01:00
Ismael Gomez e16839d7a7 Merge branch 'next' into 16bit_avx_viterbi 2018-01-10 16:06:49 +01:00
yagoda d749ee66f4 introducing 16 bit viterbi support 2018-01-08 17:05:23 +00:00
Xavier Arteaga a01c5ea08f Fixes #119: channel estimation subframe averaging 2018-01-08 12:05:31 +01:00
Ismael Gomez e4696fec38 Added ue location calculation for a particular L 2018-01-03 18:07:23 +01:00
Ismael Gomez be880e16f4 Do not include srslte.h in debug 2017-12-29 00:25:31 +01:00
Ismael Gomez a08c662028 Per-antenna SNR 2017-12-29 00:23:53 +01:00
Ismael Gomez a799098784 Merge branch 'next' into merge_patch 2017-12-21 11:28:18 +01:00
yagoda 23afd44a7d modifications to enable phy lib logging 2017-12-20 14:57:22 +00:00
Ismael Gomez 33c35d575d Save last PHICH correlation 2017-12-20 13:47:49 +01:00
Ismael Gomez 821d5595c5 Fixed AVX compilation 2017-12-20 12:35:28 +01:00
Ismael Gomez ba7d4ca3a4 Added API to access port/ant chest values 2017-12-20 10:37:36 +01:00
Ismael Gomez dfda8edc04 Minor changes to log 2017-12-20 10:01:57 +01:00
Ismael Gomez 37ee5505e9 Removed unused log_line() functions. Added DCI info string 2017-12-19 21:25:55 +01:00
yagoda 1b1301101c adding support for phy(C level) logging to file 2017-12-18 19:04:47 +00:00
Ismael Gomez c54cb02efd Increased REF BW CFO loop 2017-12-18 16:35:21 +01:00
Ismael Gomez 6711387ad7 Disabled AGC for initial cell search. Copy CFO from search and disable CP based CFO after search to reduce overhead 2017-12-17 23:05:28 +01:00
Ismael Gomez 9355cd5732 Improved CFO loop. Fixed issue with sinusoid tolerance 2017-12-16 12:46:29 +01:00
Xavier Arteaga ec254a9971 Merge branch 'next' of https://github.com/softwareradiosystems/srsLTE into enbmimo 2017-12-15 10:01:38 +01:00
Ismael Gomez 142ee30029 Merge branch 'next_novolk' into next 2017-12-13 10:28:08 +01:00