Commit Graph
2557 Commits
Author SHA1 Message Date
Jaroslava Fiedlerova cc0ba68082 Merge remote-tracking branch 'origin/NR_harmonize_frequency_range' into integration_2024_w17 2024-04-26 15:56:06 +02:00
Jaroslava Fiedlerova c4b1966fc5 Merge remote-tracking branch 'origin/NR_bw_index_fix' into integration_2024_w17 2024-04-26 15:46:50 +02:00
francescomani efeb538490 harmonize usage of frequency range structures 2024-04-23 12:20:42 +02:00
Laurent THOMAS df9cd171f6 remove a useless copy and specific buffer for all UE UL payload 2024-04-17 10:59:13 +02:00
Robert Schmidt ebeb26528a Merge remote-tracking branch 'origin/NR_PSBCH_MERGE1' into integration_2024_w15 2024-04-15 14:34:36 +02:00
Robert Schmidt 9a2e080f77 Apply clang-format 2024-04-13 08:54:15 +02:00
Jaroslava Fiedlerova 9d2ad34b1b Merge remote-tracking branch 'origin/improve-layer-mapping' into integration_2024_w15 2024-04-12 16:54:50 +02:00
Raghavendra Dinavahi 94b23d1eb0 PSBCH RX TX and SLSS search procedures
- RX/TX Phy processing accg to 38.211, 38.212 Rel16
	- PSBCH simulator used to validate TX/RX phy processing
	- PSBCH SLSS Search procedures
	- PSBCH SIM also tests SLSS SEARCH
2024-04-12 16:07:00 +02:00
Laurent Thomas be3452a10e Reduce stack memory size for layer mapping
Delete small pieces of dead code
2024-04-12 11:14:08 +02:00
Jaroslava Fiedlerova 87242ca92a Merge remote-tracking branch 'origin/fix_cppcheck' into integration_2024_w15 2024-04-12 09:18:07 +02:00
Jaroslava Fiedlerova efe065462d Add ulsch decoding statistics measurements
Add ulsch decoding measurements, which are reported by nr_ulsim. Start ulsch_decoding_stats measurement before
nr_ulsch_decoding is called and stop it after collection of all decoder tasks from Tpool. In the context of nr_ulsim,
ULSCH_id is allways == 0, testing is performed per one TB, therefore measurement is started and stopped only once per trial.
Reported ulsch decoding statistics show the mean ulsch decoding time over x trials (specified by -n command line option of nr_ulsim).
This measurement does not provide valid information in case of nr-softmodem, when the loop is done over multiple ULSCH IDs -
start of the measurement is done multiple times and stops only once in this case.
For unitary physical simulators, ULSCH processing loop is executed only once
- the max number of PUSCH is set to 1. This ensures exactly one start and stop
of the ULSCH decoding time measurement per processed TB.

Note: ulsch decoding statistics reports average time of segmentation, rate matching, interleaving and decoding of the TB
2024-04-11 16:06:53 +02:00
francescomani a0c5a3604a fix incorrect bw index evaluation for UE capabilities 2024-04-10 14:06:41 +02:00
francescomani 13d33163e9 nullPointer 2024-04-09 16:55:51 +02:00
francescomani 8404da759f nullPointerRedundantCheck 2024-04-09 16:55:51 +02:00
francescomani 3f1dd8d7ba syntaxError 2024-04-09 16:53:12 +02:00
francescomani 96ff859cb7 shiftTooManyBitsSigned 2024-04-09 16:53:12 +02:00
francescomani 1e1679b668 memleak 2024-04-09 16:44:56 +02:00
Robert Schmidt 442af3c943 Merge remote-tracking branch 'origin/pucch2_polar_rx_dynamic_range_fix' into integration_2024_w14 2024-04-08 17:58:46 +02:00
Robert Schmidt e289c11b1b Order nr_pucchsim options alphabetically in help 2024-04-08 12:54:42 +02:00
Laurent THOMAS a3f472a58b remove stored G in UE DL, not needed and creating issues with DCI format 11/type0 2024-04-03 09:42:46 +02:00
Jaroslava Fiedlerova c5bc442410 Merge remote-tracking branch 'origin/better-log-ue-sync' into integration_2024_w13 2024-03-29 16:08:38 +01:00
Jaroslava Fiedlerova c92650003f Merge remote-tracking branch 'origin/NR_4_layers_MIMO' into integration_2024_w13 2024-03-29 16:06:14 +01:00
Laurent THOMAS 88fb3c3598 change type to c16_t around dmrs computation pieces of code 2024-03-26 20:57:31 +01:00
francescomani 8f858af876 improvements for 4-layer MIMO at gNB 2024-03-21 18:22:25 +01:00
francescomani ee3dcc5c77 replacing cell_notdetected with cell_detected in initial_sync structure 2024-03-19 09:59:07 +01:00
Robert Schmidt a9123e68fc Merge remote-tracking branch 'origin/fix-4G-5G-ra-state-confusion' into integration_2024_w11 2024-03-18 10:17:36 +01:00
Laurent THOMAS b97c70fd87 remove 5G dependency on 4G mac.h include, separate RA state enums between 4G/5G and UE/gNB
add RA stat trace by enum name instead of integer printing

fix minor a few minor typos
2024-03-15 10:55:11 +01:00
francescomani 37d3e5bb58 get SSB ARFCN at RRC UE (needed to update k_gnb key according to 33.501) 2024-03-13 17:59:11 +01:00
francescomani bb19306797 transmission of RRCReestablishmentRequest message 2024-03-13 17:57:28 +01:00
Robert Schmidt e9e67b40fe Merge remote-tracking branch 'origin/ue-rework-keep-sync-in-frame' into integration_2024_w10 2024-03-08 18:56:50 +01:00
Robert Schmidt 2d4e3a0515 Merge remote-tracking branch 'origin/simplify-log-module-interface' into integration_2024_w10 2024-03-08 07:19:55 +01:00
Robert Schmidt 66bdd0e801 Merge remote-tracking branch 'origin/ci-aw2s-test-15' into integration_2024_w10 2024-03-08 07:16:11 +01:00
Laurent THOMAS c5e4bea6b9 make explicit return of the clock drift to shift the corresponding number of samples
remove corresponding global variables
2024-03-07 15:28:22 +01:00
mir fc8d0c59c6 Scan build: Result of operation is garbage or undefined 2024-03-07 11:00:57 +01:00
Robert Schmidt 7ea8833529 Use MAX_MOBILES_PER_GNB in 5G NR code
NUMBER_OF_UE_MAX is a 4G constant, use 5G one instead
2024-03-07 09:56:20 +01:00
Laurent THOMAS 2129ee3c9c remove global visibility of log variables, remove circular .h dependancy 2024-03-06 08:51:24 +01:00
Robert Schmidt 331fb1ce8e Merge remote-tracking branch 'origin/better-dci-decoding' into integration_2024_w09 2024-03-05 08:58:52 +01:00
Jaroslava Fiedlerova 64e58c1d67 Merge remote-tracking branch 'origin/739-rf-channel-sim-improvements' into integration_2024_w09 2024-03-04 17:39:13 +01:00
Laurent THOMAS 50d4d489f7 fix timing advance from msg2/rar 2024-03-04 10:07:07 +01:00
Guido Casati 4cfba89e68 Updated and enhanced channel simulation documentation
- centralized channel simulation documentation in channel_simulation.md
- removed redundant documentation repeated in multipled .md files
- updated links
- removed obsolete information
- introduced mermaid flowchart for rfsim
- added missing information about available options and usage
- deleted:    ../../../openair1/SIMULATION/TOOLS/DOC/devusage.md
- deleted:    ../../../openair1/SIMULATION/TOOLS/DOC/rtusage.md
- deleted:    ../../../openair1/SIMULATION/TOOLS/DOC/arch.md

related to issue #739
2024-03-01 15:48:24 +01:00
Laurent THOMAS 948188b200 basic C cleaning of dci decoding 2024-02-27 10:04:45 +01:00
Raphael Defosseux 3972cd44d6 Merge remote-tracking branch 'origin/NR_UE_maxmimo_layers' into integration_2024_w08 2024-02-23 10:08:15 +01:00
Guido Casati 563109a88f Cleanup of unused and outdated legacy RFSIM code
- deleted:    ../../../executables/rfsim.c
- removed unused command line options to set SINR and SNR
- removed unused functions to get SINR and SNR
- removed unused RFSIM struct members
2024-02-20 15:06:59 +01:00
Robert Schmidt 362bc481bd Remove misleading PUSCH decoding
PUSCH decoding is started multiple times in nr_ulsch_procedures() for
each ULSCH segment, and stopped once inside
phy_procedures_gNB_uespec_RX(). Not only is it not clear if that works
with the API, it also might measure more than just PUSCH decoding.

Remove the PUSCH decoding, it is misleading. Check L1 RX processing
instead.
2024-02-12 12:04:55 +01:00
Raymond Knoppandkiran d52b81798b Introduce separate thread to handle gNB TX processing
This commit introduces a separate thread (l1_tx_thread) that processes
gNB DL/TX slots. It receives a message from the ru_thread when a new
slot started, and starts processing.

The DL part of the scheduler is run in the l1_tx_thread.  Therefore,
only call UL indication (for scheduler) in UL slots.  The UL indication
previously triggered the DL scheduler -- hence, it had to be called in
every slot. Now, since the DL scheduler is moved into the DL thread, we
don't have to call the scheduler in every slot anymore.

The reorder thread is removed, as reordering with this scheme is not
necessary anymore.

The main advantage of this version is that the TX can be scheduled
earlier (sl_ahead). Further, there can no longer be race conditions in
the TX path, since the scheduler/L2, TX L1 processing and the RU tx
function are all execute in the same thread (L1_tX_thread).

Also, the scheduler prepares PRACH/PUSCH/PUCCH FAPI PDUs. As of this
commit, the scheduler runs in the TX processing chain, whereas these
PDUs are destined for RX processing.  Thus, too avoid data races,
instead of triggering the RX processing at the same time as TX
processing in the RU thread, this commit changes the code to trigger RX
processing after the scheduler has been run in TX processing to avoid
data races.

Finally, we synchronize RU and L1 threads. This is important for
rfsimulator, since unlike most radios, rfsimulator can run slower or
faster, depending on I/O and CPU (it does not have a stable "tick").

Co-authored-by: kiran <saikiran@iitj.ac.in>
2024-02-12 12:04:55 +01:00
francescomani e6b02c6d12 add option to configure max MIMO layers for PDSCH TBSLBRM computation from UE capabilities 2024-01-30 14:49:33 +01:00
Jaroslava Fiedlerova a0de76ca96 Merge remote-tracking branch 'origin/NR_UE_reworking_NOS1_bearer_configuration' into integration_2024_w04 2024-01-26 09:43:45 +01:00
Jaroslava Fiedlerova 679a0084c5 Merge remote-tracking branch 'origin/fix-ue-scheduler-stack-copy' into integration_2024_w04 2024-01-26 09:35:48 +01:00
Laurent THOMAS 3e9274eed6 simplify and make more efficient the tx data pdu attach to the pusch configuration 2024-01-24 14:18:59 +01:00
Laurent THOMAS 84ade524e4 Simplify interface by removing dcireq_t struct that was only calling one function and remove fill_scheduled_response that also fills only a struct in a complex way 2024-01-23 18:38:11 +01:00