Commit Graph
6143 Commits
Author SHA1 Message Date
Raymond Knopp 7d3a0cd157 Merge remote-tracking branch 'origin/develop' into threading-rk 2023-04-18 23:25:38 +02:00
Robert Schmidt 04451c7078 Merge remote-tracking branch 'origin/clang_warnings_new' into integration_2023_w15 2023-04-14 13:54:46 +02:00
francescomani 5a153c502f adding static const in Gen_shift_value.h to avoid asan odr-violation 2023-04-14 13:52:16 +02:00
Robert Schmidt 1ae561b9cc Remove write-only variable and commented code 2023-04-14 13:52:16 +02:00
Robert Schmidt 41aadcc54f Comment write-only variable 2023-04-14 13:52:16 +02:00
Robert Schmidt 852a6c4f28 Remove write-only variables 2023-04-14 13:52:12 +02:00
Robert Schmidt 8292c4523e Merge remote-tracking branch 'origin/remove-globals-demodulator' into integration_2023_w15 2023-04-13 18:45:19 +02:00
Roberto Louro Magueta 6c590b900a Compute noise variance to be used in MMSE 2023-04-10 10:18:41 +01:00
Roberto Louro Magueta 4b263c3fa5 MMSE working for 2-layers UL with a hardcoded noise variance 2023-04-10 10:18:41 +01:00
Raymond Knopp 455e2203e7 Merge remote-tracking branch 'origin/develop' into threading-rk 2023-04-09 18:29:42 +02:00
Robert Schmidt 19d3014150 Merge remote-tracking branch 'origin/bugfix-phy-mac-interface' into integration_2023_w14 2023-04-05 19:30:30 +02:00
Cedric Roux 733c7e5e89 bugfix: change memory management of interface between PHY and MAC scheduler
This commit fixes a bug caused by global variables in the gNB_MAC_INST
structure used to transfer MAC scheduler's results to the PHY layer.

When using several threads in the PHY layer, it may happen that the
MAC scheduler is called a second time by the second PHY thread for the
next slot before the content of the global variables in the gNB_MAC_INST
structure used to store the result of the MAC scheduler for the current
slot have been consumed by the first thread, leading to unpredictable
results (all of them certainly wrong).

The solution is to introduce a small memory management module for the
interface between the PHY threads and the MAC scheduler. The MAC
scheduler now fills the data structures passed to it, and not a
global variable anymore. The PHY layer manages the structures and
ensures that no data is overwritten before being fully consumed by
the various threads of the PHY layer.

Some care has to be taken because several PHY threads will access the
same structures at the same time for a given slot (in read mode, so
it's okay). A mechanism of reference counting has thus been introduced.

Only one CC is supported. This restriction should not be too hard
to remove if/when needed. (The code before this commit does not seem
to work for more than one CC anyway.)
2023-04-05 16:39:12 +02:00
francescomani ebd70a3915 Merge remote-tracking branch 'origin/NR_pbch_errors_at_MAC' into integration_2023_w14 2023-04-04 19:35:23 +02:00
laurent ded8a3779d remove globals 2023-04-04 11:41:32 +02:00
Sakthivel Velumani 1f6d111f6a Num wait idication as Tpool message field 2023-04-03 10:25:13 -04:00
Sakthivel Velumani 0004626ac7 Fix bug in QT scope
The UE copies scope data not in a single buffer to avoid overwiring in case of multiple slots processing in parallel. But the scope upates data from single buffer thats assigned during selection. A getPlotValue() method is created to update the data pointer on every timerEvent.
2023-04-03 10:25:13 -04:00
Sakthivel Velumani 9e4d522937 Make kpi variables atomic
Mutex for phy scope: Repeating this change again. My earlier change in commit 06ef311975 was erased by someone during merge of QT scope.
2023-04-03 10:25:13 -04:00
Sakthivel Velumani e45a051c80 Perform CRC check for whole TB 2023-04-03 10:25:11 -04:00
Sakthivel Velumani 5c6778be0c Fixed Harq stats print 2023-04-03 10:24:26 -04:00
Sakthivel Velumani 7d23ec27b5 Changed NR_UE_CAPABILITY_SLOT_RX_TO_TX to 3
Tested with X300 and there was no real-time problems.
Could get the same throughput as when NR_UE_CAPABILITY_SLOT_RX_TO_TX is 4.
2023-04-03 10:24:26 -04:00
Sakthivel Velumani a03864ee8c Fix printing help message 2023-04-03 10:24:26 -04:00
Sakthivel Velumani 15c12caa37 Contains MAC changes to run || DLSCH
DL config as array in MAC
Run RX slot processing in Tpool thread
Fixed race in phy config
Changed mac_IF_mutex
Proc Tx: Lets wait for Proc Rx to get ACK/NACK
-(only on slots that carry ACK/NACK)
Fix problem with rfsim
Separated PDCCH and PDSCH decoding functions. Run PDCCH decoding in main UE_thread.
Fixed race in MAC dci config struct
needed for parallel processing of slots
Moved DLSCH transport block buffer to stack
rx_ind as static allocation
L2sim: Fixed calling of MAC sched in wrong slot
Fix DCI extract bug for RA procedure
2023-04-03 10:24:24 -04:00
francescomani 5c333cca65 move radio link failure detection on pbch at MAC 2023-04-02 09:48:09 +02:00
Robert Schmidt 7a52279078 Merge remote-tracking branch 'origin/bugfix-clear-llr-properly' into integration_2023_w13 2023-03-31 17:58:23 +02:00
Robert Schmidt 1ac428a323 Merge remote-tracking branch 'origin/develop-handle-reconfigurationWithSync' into integration_2023_w13 2023-03-30 19:19:37 +02:00
Roberto Louro Magueta 889a50072f Implementation of resynchronization procedures for a gNB with a given Nid_cell 2023-03-28 18:52:48 +01:00
Raymond Knopp 48d04bbffd Merge remote-tracking branch 'origin/develop' into threading-rk 2023-03-27 16:09:33 +02:00
Robert Schmidt 47ea8d79a2 Free memory correctly 2023-03-27 15:39:49 +02:00
francescomani d664190f9d scope compilation fixes 2023-03-27 15:39:49 +02:00
francescomani 0d66410317 another round of review 2023-03-27 15:39:49 +02:00
francescomani 12ccca72b6 further improvements 2023-03-27 15:26:52 +02:00
Robert Schmidt 6e93619896 review comments 2023-03-27 15:26:52 +02:00
francescomani 779748579c fixes for physical simulators 2023-03-27 15:26:52 +02:00
francescomani f3126586f3 removing constant max number of xlsch 2023-03-27 15:26:52 +02:00
francescomani 48d19391e2 fix for PHY structure disactivation 2023-03-27 15:26:52 +02:00
francescomani 7c9b501310 removing call from MAC to PHY to clear structures (now automatic clearing) 2023-03-27 15:26:52 +02:00
Robert Schmidt 9074566869 Merge remote-tracking branch 'origin/episys-merge-int-to-c16t' into integration_2023_w12 2023-03-23 18:57:37 +01:00
Cedric Roux a4718d4a16 bugfix: LDPC decoding in the gNB: clear d properly
The d array has to be cleared at the first usage, which may not necessarily
be when new_rx is true. For example, in case of DTX detected for a first
transmission, the next transmission won't have new_rx true, so d won't be
cleared, containing data from a previous transmission. Or when a LDPC
decoding is cancelled for a segment when new_rx is true, a decoding for
a retransmission will not clear d because then new_rx will not be true.
(Yes, the logic of cancellation will be changed in the future, but the
changes will be orthogonal to the ones of this commit.)

new_rx is removed.
2023-03-23 17:18:50 +01:00
Melissa Elkadi 9c9ce64809 Fixing warning during build (wasnt casting properly) 2023-03-21 10:11:50 -07:00
Roberto Louro Magueta a4d43c249e Update the ad_shift, considering the previous improvement 2023-03-20 17:13:30 +00:00
Roberto Louro Magueta 451449e148 Avoid multiple shifts in UL channel compensation 2023-03-20 17:13:30 +00:00
Roberto Louro Magueta 508d7d284b Fix magnitude computation for 2-layers UL in nr_ulsch_zero_forcing_rx_2layers() 2023-03-20 17:13:30 +00:00
Roberto Louro Magueta b2e1631f7d Simplification of function nr_ulsch_channel_compensation() 2023-03-20 17:13:30 +00:00
Robert Schmidt 10a10e9910 Merge remote-tracking branch 'origin/fix_unaligned_idft' into integration_2023_w11b 2023-03-18 12:05:05 +01:00
Melissa Elkadi 4dd579e042 int32_t to c16_t conversion
This commit includes changes to the function
footprints for vaiours NR UE and gNB functions.
It does not updated the LTE code. For functions
shared by both LTE and 5G, we maintained the original
LTE footprint and argument structure.

Several of the simulators that use these functions
have been updated as well. The specific usage of these
functions which index into the int32_t buffers and
treat the first int16_t and the real and the second
as the complex should be modified in the near future.
2023-03-15 12:45:39 -07:00
Thomas Schlichter b3b53506a1 improve memory alignment of some arrays in nr_pusch_channel_estimation() 2023-03-15 14:03:21 +01:00
Thomas Schlichter 96c1cadf2b fix typo in idft() function
In case of unaligned input array, a DFT of wrong size was executed instead of a correct IDFT.
2023-03-15 14:00:12 +01:00
francescomani f82bba5535 fix transform precoding scheduling for ulsch 2023-03-15 10:54:03 +01:00
Raymond Knopp 2b143370ee small changes in eth_udp.c for AW2S 2023-03-12 22:51:09 +01:00
Robert Schmidt 6791974004 Remove unused OCG (OpenAir Config Generator) 2023-03-11 15:50:50 +01:00