Commit Graph
290 Commits
Author SHA1 Message Date
francescomani 04ee4ea8e5 restructuring of UE DLSCH code to handle 2 codewords
even if 2 codewords are currently not supported and not tested, the way UE handled the possibility of having 2 codewords was messy, in between support and non-support
the intention of this MR is to cleanup the code more than extend the support

Signed-off-by: Francesco Mani <email@francescomani.it>
2026-09-14 22:56:26 +09:00
francescomani 1b7be0c35a fixes at UE to make number of RBs independent from PDSCH type 2026-04-20 19:15:27 +02:00
francescomani a71cd36248 compilation improvements aroung impl_defs_top file 2026-03-31 16:45:24 +02:00
Robert Schmidt 8107939f08 Change OAI license to CSSL v1.0 (and others)
- all RAN code, CI code, configuration files, dockerfiles, in CSSL v1.0
- all deployment code (openshift, charts, ancillary files like shell
  scripts), in MIT
- documentation in CC-BY-4.0
- exceptions might apply and are listed in NOTICE
- there is a new LICENSES folder with all licenses
- CONTRIBUTIONS.md has been updated accordingly

For automated changes based on OAI PL v1.1:

    perl -i~ -0pe 's/\/\*.*Licensed to the OpenAirInterface.*openairinterface.org\n#?/\/*\n * SPDX-License-Identifier: LicenseRef-CSSL-1.0\n/s' **/*.{c,h,cpp}
    perl -i~ -0pe 's/\/\*.*Licensed to the OpenAirInterface.*openairinterface.org\n#?/\/*\n * SPDX-License-Identifier: LicenseRef-CSSL-1.0\n/s' **/*.ts
    perl -i~ -0pe 's/<!--.*Licensed to the OpenAirInterface.*openairinterface.org\n.*-->/<!-- SPDX-License-Identifier: LicenseRef-CSSL-1.0 -->/s' **/*.xml

The rest (cmake, files with missing license, cmake) manually.
2026-03-27 16:36:37 +01:00
francescomani 0a447fd304 remove VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME from NR code and remaining unused header include 2026-02-11 10:30:07 +01:00
francescomani 9470c51b00 remove phy_extern_nr_ue file 2025-12-15 12:18:28 +01:00
Romain Beurdouche 6b660e4091 fix(nrLDPC_decoder): Cleaning LDPC iteration accounting in NR
The idea is to make LDPC iteration accounting more standard from a C coding perspective by making two changes:
1. Now the iteration counter starts at 0 for the first iteration and goes up to max_ldpc_iterations - 1 for the last iteration.
   If it is equal to max_ldpc_iterations, it means that decoding failed.
2. A chain of useless returns in the UE DLSCH decoding call chain was removed.
2025-03-10 15:11:19 +00:00
Bartosz Podrygajlo 2198e31187 More updates to imscope IQ recorder
- Added event parameter for recording which is reflected in the filename
 - Added event in the UE for DLSCH NACK
 - Added program name to the filename for ease of identification
 - Reworked spinlock to use atomics
2025-01-28 16:55:25 +01:00
Yi-Hung Chang 80c406693f feat(nrLDPC_coding_interface): Use reworked interface in UE 2024-12-16 08:40:54 +01:00
21dafbcde7 New threadpool
- removed some whitespace noise.
 - cleaned up CMakeLists.txt
 - reintegrated task_manager.c into thread-pool.c
 - cleaned up some unnecessary code

Co-authored-by: Cedric Roux <cedric.roux@eurecom.fr>
Co-authored-by: Mikel Irazabal <mikel.irazabal@openairinterface.com>
2024-12-04 17:54:51 +01:00
Laurent THOMAS 65e3c89bb1 add ue mac stats and monitoring as per gnb ones 2024-11-21 16:39:19 +01:00
Laurent THOMASandFrancesco Mani 7a5da40d0b Improve tracing for DLSCH decoding results
- Better trace DLSCH decoding result
- Rename the decode result variable to separate with later ack/nack
  encode of this decoding result from 3GPP (not trivial true=1 coding)
- Cleanup decodeResult usage
- Remove unused defines

Co-authored-by: Francesco Mani <email@francescomani.it>
2024-09-18 14:40:07 +02:00
francescomani d04a83ea93 defs_gNB cleanup 2024-08-29 08:54:42 +02:00
Bartosz Podrygajlo b242a483f1 Rewrite NR UE PHY cpu measurements 2024-07-30 19:23:54 +02:00
francescomani bfb6e407f2 schedule msg3 retransmission for no signal scenario 2024-07-08 11:46:32 +02:00
francescomani 54cc2e0bb5 preventing UE assertion on number of layers = 0 by rejecting TB earlier if that happens 2024-06-12 08:45:37 +02:00
Laurent THOMAS 2f05261f6b reject packets of 0's 2024-05-23 08:41:01 +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
francescomani 284d07c5ae nfapi_nr_interface cleanup 2024-03-06 11:38:26 +01:00
Jaroslava Fiedlerova 31cc7a077b Merge remote-tracking branch 'origin/fix-ue-rx-tx-thread-synchro' into integration_2024_w02 2024-01-12 09:42:14 +01:00
Robert Schmidt 4a12bdc305 fix tx_resume_ind_fifo messages sending bugs, rename associated function send_slot_ind() to what it actually does send_dl_done_to_tx_thread() 2024-01-09 16:15:14 +01:00
Laurent THOMAS b5e169ec07 add const or other simple C code improvement 2024-01-09 16:15:14 +01:00
francescomani 7ca130832b move computation of base graph for LDPC at MAC in the UE 2023-12-20 18:03:17 +01:00
laurent 7bb529dcdf fix redundant member in ldpc decoder struct 2023-11-28 09:37:37 +01:00
Laurent THOMAS 99ca87a1c1 Refactor LDPC API to make common API with various implementations 2023-11-28 09:37:37 +01:00
Robert Schmidt 3fd45922b7 Merge remote-tracking branch 'origin/NR_PTRS_improvements' into integration_2023_w44 2023-11-12 05:14:25 +01:00
francescomani 629825aca6 taking into account PTRS in computing G 2023-11-03 10:39:13 +01:00
francescomani 73244eae4d storing TBS and R at MAC instead of PHY 2023-10-20 18:00:34 +02:00
Laurent THOMAS d448b5e549 remove 'B' from persisted data, replace 3824 hardcoded by it's existing define 2023-09-29 10:23:54 +02:00
Laurent THOMAS a62641f9f3 remove race condition on norm128 global 2023-09-13 17:20:04 +02:00
Raymond Knopp a7bc282302 First-level of support for new aarch64 machines
Testing on Neoverse N1 (Ampere 3GHz). Tested only on a subset of phy-simulators.

- Changes:
- use SIMDE consistently
- adaptations of LDPC decoder generator for ARMv8 performance
- SIMDe modifications of Intel CRC to allow for aarch64 build.
  optimizations for 128-bit to improve performance of LDPC encode/decode
  on aarch64 (Neoverse 1)
- added BG2 files for 128-bit ldpc encoder (aarch64)
- testing on Xeon
- testing on x86
- minor changes to build/run on x86
- change in crc.h after returning to aarch64
- removed some warning in ldpc decoder generator for x86_64
- char
- Delete irrelevant constants
- Correctly declare variables
- Define stdbool for all architectures
- Remove definition of _MM_SHUFFLE and use SIMDE_MM_SHUFFLE
- Remove commented code
- Fix CMakeLists.txt
- Include SIMDE avx2 functions in tools_defs.h
2023-09-13 17:19:20 +02:00
francescomani e45855f41d handling reserved case of DLSCH MCS 2023-08-19 09:58:40 +02:00
Robert Schmidt 15b8dbc476 Remove unnecessarily verbose log 2023-06-16 17:51:17 +02:00
laurent 615324294b ldpc check based on crc 2023-06-12 10:24:57 +02:00
Laurent THOMAS 3645c96c09 remove generic thread pool abort 2023-06-12 10:24:37 +02:00
Sakthivel Velumani 9825842e97 Adjust samples in time only when valid PBCH is present 2023-05-22 12:40:51 -04:00
Sakthivel Velumani e45a051c80 Perform CRC check for whole TB 2023-04-03 10:25:11 -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
Bo Zhao 4d0762e43d First implementation for KPI GUI with Qt5
Authors: Bo Zhao, Marwan Hammouda, Thomas Schlichter (Fraunhofer IIS)

- CMakeLists modification: add QtWidgets library, add new source files, MOC (Meta-Object Compiler) on the given source file
- build_oai modification
- Activate new GUI with Qt on the UE side
- 2 x 3 widget with I/Q sample for PDSCH
- Drop-down list implementation
2023-02-23 17:46:27 +01:00
laurent 96bde322a7 fix code quality 2022-11-30 16:29:48 +01:00
Sakthivel Velumani ea72306c38 Moved DLSCH PHY structure to stack 2022-10-31 18:22:27 -04:00
Sakthivel Velumani f3ee87416d Remove old decoder R computations 2022-10-04 16:40:12 +02:00
Sakthivel Velumani 5a7f227513 Change LDPC decoder rate based on round/rv 2022-10-04 16:40:12 +02:00
Robert Schmidt 8e4c7a1115 Merge remote-tracking branch 'origin/sa_conf_and_fixes_for_mu0' into integration_2022_wk36b 2022-09-08 20:42:21 +02:00
laurent 9b207834e7 merge conflict fix 2022-09-02 11:36:47 +02:00
laurent aa2a36768c simplify thread pool configuration
fix segv

fix bug redeclaration of same struct in phy sim

Apply 1 suggestion(s) to 1 file(s)

code reveiw comments
2022-09-02 11:36:47 +02:00
Thomas Schlichter 18500674df improve nr_dlsch_decoding 2022-09-01 12:14:19 +02:00
Robert Schmidt dfd9a91b50 Rename abortNotifiedFIFO() to abortNotifiedFIFOJob() 2022-08-16 14:41:02 +02:00
Robert Schmidt d73e1a4133 Handle NULL return of pullTpool() 2022-08-16 14:41:02 +02:00
Robert Schmidt 31d5bb6ffd Rename abortTpool() to abortTpoolJob(), fix doc 2022-08-16 14:41:01 +02:00