Xavier Arteaga
009f300c5e
Initial PHY Data procedures
2020-10-29 09:23:09 +01:00
Xavier Arteaga
775692f461
Rearanged PDCCH NR functions structures
2020-10-29 09:23:09 +01:00
Xavier Arteaga
452eb2dbbf
Updated some DOCS
2020-10-29 09:23:09 +01:00
Xavier Arteaga
937c52339d
Added PDCCH DMRS estimation and measurement
2020-10-29 09:23:09 +01:00
Xavier Arteaga
5799100e42
FFT based Resampler admits NULL inputs/outputs
2020-10-29 09:23:09 +01:00
Xavier Arteaga
29ad2427d9
Initial implementation of the 5G NR PDCCH DMRS encoding
2020-10-29 09:23:09 +01:00
Xavier Arteaga
579526f1fe
Added sequence advance without generating data
2020-10-29 09:23:09 +01:00
Francisco Paisana
4cb6ed27eb
updated scheduler ue mcs computation to account for new 256QAM tables
2020-10-22 19:55:46 +02:00
Xavier Arteaga
d375e305ec
Initial NR DMRS for PDSCH
2020-09-25 11:28:04 +02:00
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.
2020-09-24 22:25:24 +02:00
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
2020-09-23 21:46:03 +02:00
Xavier Arteaga
ede58319ae
Vector: added conjugate complex float to short
2020-09-23 09:06:03 +02:00
Xavier Arteaga
c20d4ff5cc
Added ringbuffer zerocopy a timeout
2020-09-23 09:06:03 +02:00
faluco
b892da0294
- Calculate the FFT of the PRACH on demand.
...
- Fixed a PRACH test that was failing with ASAN.
2020-09-21 09:50:20 +02:00
Xavier Arteaga
44c2412be2
SRSUE: silent PUSCH encoding error by dropping invalid grant
2020-09-17 22:39:56 +02:00
yagoda
b5a8d82058
-adding more prach tests to make test, removing some variables from stack
...
-PRACH time offset to TA unit conversion
2020-09-07 14:56:12 +01:00
yagoda
59082770d3
moving some arrays to the heap, fixing formatting, setting dft norm
2020-09-07 14:56:12 +01:00
yagoda
f6ea431555
-adopting new PRACH equalization approach for successive cancellation
...
-adding frequency domain time offset detection
-adding to testing of PRACH
2020-09-07 14:56:12 +01:00
yagoda
ec7873e7cc
refactoring PRACH, adding phase correction to successive cancellation
2020-09-07 14:56:12 +01:00
yagoda
4d8888aae6
- adding simple successive cancellation to PRACH detection
...
- adding testing for same and for offset detection
2020-09-07 14:56:12 +01:00
Ismael Gomez
54eed11e1d
Refactor decision for extended CSI/SRS
2020-09-03 10:45:06 +02:00
Ismael Gomez
c9daf1f61a
Make const args
2020-09-03 10:45:06 +02:00
Ismael Gomez
e2154d2213
Renamed constants to SRSLTE and use SRSLTE_CFI macros
2020-09-03 10:45:06 +02:00
Ismael Gomez
51521ad8e4
Improved PDCCH blind search and fixed a few issues with ambiguous DCI size with Release 10
2020-09-03 10:45:06 +02:00
Xavier Arteaga
3aec23f7d8
SRSENB: calculate TA from PUCCH messages
2020-08-27 09:31:05 +02:00
Ismael Gomez
a4835dd2c8
More accurate MCS reduction when PUSCH carries UCI ( #1630 )
2020-08-25 22:30:35 +02:00
Xavier Arteaga
029f36b449
srsLTE: added efficient integer resampler and srsue/srsenb integration
2020-08-25 16:19:52 +02:00
Xavier Arteaga
0e96ef3df0
Channel emulator takes SNR as input parameter
2020-08-24 10:46:11 +02:00
Xavier Arteaga
fda1d040e7
SRSENB: implement PUSCH threshold for UCI bits
2020-07-27 16:44:15 +02:00
Xavier Arteaga
729986f259
srsLTE: Added PUCCH format 3 valid correlation
2020-07-15 07:34:14 +02:00
Ismael Gomez
874e614970
Increase PUCCH detection threshold to avoid false alarms
2020-06-25 22:57:31 +02:00
Ismael Gomez
29e126a583
Add per-channel TX gain ( #1450 )
...
* Change type of rf_set_gain() to avoid unambiguous return with negative gains
* Add per-channel TX gain
2020-06-19 11:00:12 +02:00
Francisco Paisana
64e8f5e3ed
update license year
2020-06-18 12:41:54 +01:00
Xavier Arteaga
89b24b54e5
Refactored radio class for acommodating multiple RF devices
2020-06-16 11:00:51 +02:00
Xavier Arteaga
039f2164a6
Initial Sounding Reference Signals implementation
2020-06-08 09:33:51 +02:00
Ismael Gomez
84b84eaad6
Move search_in_common variable
2020-06-03 17:23:42 +02:00
Ismael Gomez
9b634b8d2a
Search DCI in UE space before common to avoid DCI size ambiguity. Fixes #1398
2020-06-03 17:23:42 +02:00
faluco
cf5b321fb5
Replace magic numbers with macro constants.
...
Adjust comments to refer to these macros.
2020-05-28 11:27:15 +02:00
faluco
9484db8a90
Added header comments to srslte_sfidx_tdd_nof_X family of functions.
...
Fixed a comment referring to an older TS release.
Remove elses after returns.
2020-05-28 11:27:15 +02:00
faluco
8c59606d6f
Add comment header to srslte_sfidx_tdd_type.
...
Remove else after return.
2020-05-28 11:27:15 +02:00
faluco
7354f49fe5
Added explanatory comments to TDD phy structs and enums.
2020-05-28 11:27:15 +02:00
Xavier Arteaga
20db13abc7
SRSUE: fix condition number calculation
2020-05-19 22:31:56 +02:00
faluco
3fa5926cd5
Fix SIMD neg operation which was inverted.
...
Re-enable -Werror.
2020-05-08 21:17:05 +02:00
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
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
7aeddfd186
fix potential error where return value -1 is used for loop termination
2020-05-07 19:53:10 +02:00
faluco
7ff251f112
- Fixed warnings caught by Clang 9.0.0
2020-05-07 10:10:24 +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
Xavier Arteaga
e15c49c5a5
Fix EVM hard-decision performance
2020-04-29 21:11:30 +02:00
Andre Puschmann
68a1868c33
npdsch_{ue,enodeb}: few more LGTM fixes
2020-04-29 18:56:46 +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
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
4b6691a630
DL Wiener: Fixed phy common header missing
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
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
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
Andre Puschmann
d6e0153b40
sci: add SCI format 1 transmission format flag
2020-04-27 21:01:46 +02:00
Andre Puschmann
80b303dbde
sl: set correct SL-SCH max TB size
2020-04-27 21:01:46 +02:00
luis_pereira87
baf0ad5bf4
PSSCH implementation
2020-04-27 21:01:46 +02:00
Andre Puschmann
a82b2da2dd
dft_precoding: add helper to get largest valid PRB
2020-04-27 15:54:54 +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
e6792cf9b7
Refactored OFDM and added half CP window offset in UL Demodulator
2020-04-20 16:10:27 +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
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
luis_pereira87
653a1e0619
Added PSBCH Extended CP
2020-04-15 21:59:14 +02:00
Andre Puschmann
e495c4d553
vector: add uint8 zero'ing function
2020-04-15 13:42:26 +02:00
Andre Puschmann
8f72d4c55e
simd: fix compilation error under NEON
2020-04-15 13:42:26 +02:00
Xavier Arteaga
2bca321d4d
Fix NEON 16 bit turbodecoder
2020-04-13 20:43:51 +02:00
Xavier Arteaga
dc6128617b
Fix SSE 16 bit turbodecoder
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
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
6d355ab61e
SRSUE: Fix HO initial CFO
2020-04-02 13:52:23 +02: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
Xavier Arteaga
cd2f86687f
Correction in AWGN generator
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
b5be0b94b8
Added SIMD i32 add and and functions
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
f3f03ad12d
SRSUE PHY: Add extra debugging information to errors
2020-03-18 16:12:51 +01:00
Xavier Arteaga
ada8772f57
Initial srenb TA compensation
2020-03-17 17:21:43 +01:00
Xavier Arteaga
0408d357a7
Minor fixes
2020-03-16 15:07:12 +01:00
Ismael Gomez
73447972d8
Fix issue with simultaneous CQI and ACK/NACK transmission in CA ( #1067 )
...
* Fix memory corruption when phy calling mac scheduler and not yet initiated
* Do not drop CQI if collision with ACK/NACK and PUSCH
* Allocate CQI resources for SCell properly
* Use UE_PCELL_CC_IDX macro
* Protect ul_sched from being called if not yet started
2020-03-16 13:10:21 +01:00
Xavier Arteaga
e832769ae6
Updated copyright
2020-03-16 11:26:06 +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
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
Xavier Arteaga
76408b195e
Rename TX_DELAY and FDD_HARQ_DELAY_MS
2020-03-11 21:16:36 +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
Francisco Paisana
639f473042
fixed unsigned signed comparison
2020-03-10 14:17:49 +01:00
Francisco Paisana
1e63fa41cf
made ue_cc_idx int to set to -1 for rar and bc allocs
2020-03-10 14:17:49 +01:00
Francisco Paisana
f3c3c52fcd
added ue_cc_idx to dci allocation
2020-03-10 14:17:49 +01: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
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
a968fb02d3
Increase PUCCH correlatiion threasholds
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
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
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
Tiago Alves
cabd9ae742
baseline implementation of pscch
2020-03-03 16:22:51 +01:00
Xavier Arteaga
125747ae4a
Added external C to phy_common header and ACK/NACK feedack mode parser
2020-03-02 12:19:09 +01:00
Xavier Arteaga
a4135e41a5
Added PUCCH collision checker
2020-03-02 12:19:09 +01:00
Xavier Arteaga
2fc0832f05
Addition of DL HARQ-ACK generation procedure for eNb DL and minor aesthetic changes
2020-03-02 12:19:09 +01:00
Xavier Arteaga
e621853566
Minor aesthetics changes
2020-02-28 12:10:32 +01:00
Xavier Arteaga
f261365c91
Initial EVM calculation commit and other easthetic changes
2020-02-28 12:10:32 +01:00
Pedro Alvarez
aecfb151ce
Apply clang-format to the lib in preperation for PR.
2020-02-20 20:53:27 +01:00
Ismael Gomez
d8d10daebe
Fix bug in SRS using the previous grant to compute collision with PUSCH ( #958 )
2020-02-16 21:30:04 +01:00
Andre Puschmann
327aa97cfd
add macro for invalid RNTI 0x0
2020-02-15 19:33:25 +01:00
Xavier Arteaga
67c07dfb56
Moved UL/DL PUCCH procedures into pucch_proc
2020-02-13 10:29:00 +01:00
Xavier Arteaga
7a20e3a51e
Added boolean random generator
2020-02-13 10:29:00 +01:00
Xavier Arteaga
5dbc96458a
Sets PUCCH decode threshold as macro
2020-02-13 10:29:00 +01:00
Xavier Arteaga
bc10943a2b
Added get max TB from DCI format
2020-02-13 10:29:00 +01:00
Xavier Arteaga
231431f569
SRSENB: enabled CA PUCCH decode in eNb
2020-02-13 10:29:00 +01:00
Xavier Arteaga
d66fdefbb3
Added more docs to PUCCH 1b CS resource selection
2020-02-13 10:29:00 +01:00
Xavier Arteaga
1f762844ee
Initial PUCCH format 3 decoder
2020-02-13 10:29:00 +01:00
Xavier Arteaga
35f4e5d69a
Initial PUCCH 1B with channel selection
2020-02-13 10:29:00 +01:00
Andre Puschmann
6cce22d6b8
add support for GPS-based sync to UE sync object
2020-02-10 20:25:54 +01:00
Andre Puschmann
c7343cf6d8
protect sf_buffer from overrun in receive_samples
...
this patch adds a buffer len paramter to the receive_samples() call
that protects the (also) provided buffer from overflowing.
currently each call to srslte_ue_sync_zerocopy() which then calls receive_samples()
relies on a buffer that is "big enough". But that buffer is sometimes
2 subframes, sometimes 3 or 5, sometimes has space for the maximum PRB size, sometimes
only for 6 PRBs (i.e. during cell search).
By extending the interface to pass the buffer size we can make sure that
only samples are received that actually fit inside the provided buffer.
2020-02-07 10:21:30 +01:00
Xavier Arteaga
68ad4960eb
SRSLTE: added holding time before AGC starts measuring after setting gain
2020-02-06 09:14:05 +01:00
Francisco Paisana
1b958a60b5
casting .c_str() to mutable char* and changing the char* was causing all sort of weird format messages
2020-01-31 19:08:56 +00:00
Ismael Gomez
cc7dfefa1a
Fix logic for UL HARQ retx causing Msg3 adaptive retx to be identified as a new transmission
2020-01-28 21:33:10 +01:00
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