Commit Graph
253 Commits
Author SHA1 Message Date
francescomani 74690ceb1d fix CORESET start PRB according to standard at OAI UE 2025-12-22 17:29:09 +01:00
Jaroslava Fiedlerova 89fbe3c783 Merge remote-tracking branch 'origin/issue-1021' into integration_2025_w45 (!3743)
NR UE: fix PDCCH LLR indexing for different search space RB sizes

After !3603 (merged), when multiple search spaces have different CORESET
configurations (different number of RBs), the LLR buffer stride must be
calculated based on the maximum RB size across all search spaces, not the
current search space's RB size.

The LLR buffer is allocated with size based on get_pdcch_max_rbs(), but the
demapping function was using coreset_nbr_rb (current search space) for symbol
stride calculation, causing incorrect LLR extraction when search spaces have
different RB configurations.

This MR tries to fix it.

Closes #1021
2025-11-06 09:29:54 +01:00
alexjiao 7655604d3c NR UE: fix PDCCH LLR indexing for different search space RB sizes
When multiple search spaces have different CORESET configurations
(different number of RBs), the LLR buffer stride must be calculated
based on the maximum RB size across all search spaces, not the
current search space's RB size.

The LLR buffer is allocated with size based on get_pdcch_max_rbs(),
but the demapping function was using coreset_nbr_rb (current search
space) for symbol stride calculation, causing incorrect LLR extraction
when search spaces have different RB configurations.
2025-11-05 00:46:31 +08:00
Laurent THOMAS ab14e3ad22 move all antennas comon code of begining of nr_pdcch_channel_estimation to prepare the future move of the antenna loop above the serial call of functions to decode pdcch 2025-11-03 20:33:20 +01:00
Laurent THOMAS 032fc5e9c2 fix bugs in scope for pdcch, and optimize cpu cost of pdcch decoding by not processing useless samples in one symbol 2025-11-03 20:16:41 +01:00
Bartosz PodrygajloandSakthivel Velumani ece9d51db3 Symbol based PDCCH processing
1. Refactor PDCCH PHY functions to take rxdataF of one OFDM symbol and
   produce LLR for each search space. The modified functions take
   rxdataF in a different format than that produced by nr_slot_fep(). So
   for now a memcpy is used to change the array structure. Once
   nr_slot_fep() is modified, this memcpy will no longer be needed and
   will be removed.
2. Modify DCI functions to decode DCI in the last PDCCH symbol and
   inidcate to MAC once.
3. Fix PDCCH monitoring for start symbol > 0.
4. Fix multiple PDCCH monitoring within slot.

Co-authored-by: Sakthivel Velumani <mail@sakthi.me>
2025-10-21 12:03:01 +02:00
Bartosz Podrygajlo 07ce1ed145 Fix reading reading out of bounds in nr_pdcch_extract_rbs_single
Fix reading out of bounds of rxdataF in the middle PRB in case of odd
cell bandwidth.
2025-10-21 12:01:34 +02:00
Bartosz Podrygajlo dcb69986eb Fix segfault in nr_pdcch_extract_rbs_single
Fixed an issue where skipping unused PDCCH RBGs would cause the
function to write/read from outside the symbol boundary
2025-10-21 12:01:34 +02:00
francescomani 65d0fb152e use common channel level for DCI reception 2025-08-19 16:19:48 +02:00
Thomas Schlichter 4de0e54a3a NR UE: further simplify and optimize the usage of the PDCCH LLR array
The initial version of this patch was provided by "Laurent THOMAS <laurent.thomas@open-cells.com>"
2025-08-08 17:41:15 +02:00
Thomas Schlichter a6ccdd1340 NR UE: fix pdcch llr_size calculation in nr_rx_pdcch() 2025-08-08 14:58:14 +02:00
Laurent THOMAS f835705dd1 fix array sizes and aligment issues in 5G UE dci decoder 2025-07-25 15:49:35 +02:00
Laurent THOMAS 343b983aa9 fix SIMD tail length in nr_pdcch_detection_mrc() and replace >> operator by / 2025-07-25 10:04:13 +02:00
Laurent THOMAS 19d783f6d9 generalize constant nb re per rn in dci_nr.c 2025-07-25 10:04:04 +02:00
Laurent THOMAS e8f6d14c47 simplify and make more local variables in nr_rx_pdcch() and fix small bugs (size 9 RE instaed of 12 RE) 2025-07-25 10:02:26 +02:00
Laurent THOMAS b30da5c0b2 reduce size and make local rxdataF_comp in nr_rx_pdcch() 2025-07-25 10:02:26 +02:00
Laurent THOMAS 2c22f49a45 simplify nr_pdcch_channel_compensation() 2025-07-25 10:02:26 +02:00
Laurent THOMAS 3ca12f78e5 simplify function nr_pdcch_extract_rbs_single() 2025-07-25 10:02:26 +02:00
Laurent THOMAS 95ae7772bf simplifly, reegroup functions in tools_defs.h 2025-04-25 14:47:59 +02:00
HHI f470ea5946 mod: refactor PHY multiplications 2025-04-25 14:47:59 +02:00
francescomani 5e8f649963 check multiple DCI candidates with same length if SIB RNTI 2025-04-14 10:15:50 +02:00
Matthias Mehlhose 5ae69ce484 refactor: average 64 bit calculations with shift and internal division (SSE and AVX2) 2024-12-18 07:36:22 +00:00
Laurent THOMAS 5a5063bddc cleaner faster nr_pdcch_demapping_deinterleaving() inner loop 2024-09-27 11:46:59 +02:00
Laurent THOMAS 99c8dd420a Use gold cache for PDCCH decoding, scrambling, unscrambling 2024-07-30 14:49:46 +02:00
francescomani 114fb5dbca bugfix in dci reception, CRC is 24 bits but uint16 was used 2024-04-30 12:36:15 +02:00
francescomani 90f82d19da remove false DCI reception indication 2024-04-29 12:39:44 +02:00
francescomani aaddf3623c bugfix: new implementation prevented to find DL DCI if there was already UL DCI in the same slot 2024-04-03 09:14:50 +02:00
francescomani fa27f9ad48 moving decision on DCI format type from L1 to MAC 2024-04-03 09:14:50 +02:00
Laurent THOMAS 56c4a6ec07 change trace to new NR_MAC_DCI and NR_PHY_DCI for DCI processing 2024-03-01 12:20:32 +01:00
Laurent THOMAS 8666b084d5 improve code of dci decoding and add tracing for all dci fields 2024-02-28 10:17:11 +01:00
Laurent THOMAS 948188b200 basic C cleaning of dci decoding 2024-02-27 10:04:45 +01:00
Laurent THOMAS b5e169ec07 add const or other simple C code improvement 2024-01-09 16:15:14 +01:00
Laurent THOMAS bba9aac079 fix most of doxygen warnings and errors 2023-10-26 16:47:19 +02:00
francescomani f820d74605 fix for scrambling dci and renaming ss_type field 2023-09-19 12:51:42 +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
Laurent THOMAS 206aa36a47 Make read-only globals const, additional fixes
- Global variables that are never written to are marked const
- Remove some EXTERN declaration
- Remove unused `log_mem_multi` from logging module
2023-08-18 14:20:37 +02:00
francescomani 7479597a37 PDCCH unscrambling: correct c_init modulo
As specified in TS 38.211 Section 7.3.2.3, c_init is the result of a mod
2^31. Before this commit, the code assumed a wrong, implicit mod 2^32,
even though the comment says otherwise.
2023-08-02 13:05:08 +02:00
Laurent THOMAS 37752af2cf make common code for data copy to the scope 2023-07-19 10:19:25 +02:00
Robert Schmidt b55bff37ca Merge remote-tracking branch 'origin/ue-code-cleanup' into integration_2023_w28 2023-07-13 16:56:36 +02:00
Robert Schmidt c1e8acb2e2 Repair build when T tracer build disabled 2023-07-13 10:28:38 +02:00
laurent 9121541b3c only cleaning 2023-07-10 12:00:25 +02:00
laurent 1b09f683f9 Fix compilation errors due to -Werror 2023-06-08 19:15:24 +02:00
Robert Schmidt 020f72d90e Merge remote-tracking branch 'origin/NR_undefined_behavior_fixes' into integration_2023_w22 2023-06-02 13:27:24 +02:00
Vijay Chadachan 836469e849 CPPCHECK fixes for printf issues
Fix for following CPPCheck warnings
- invalidPrintfArgType
Rebased with latest develop branch w21.
Reverted modifications unrelated to printf issues.
2023-06-01 12:07:26 +02:00
francescomani 9d9e6bf17f errors detected by undefined behavior sanitizer 2023-05-29 08:49:52 +02:00
francescomani e9ded45428 bugfix in computing first cce 2023-05-05 07:36:39 +02:00
Robert Schmidt 6d90aaaae2 (Almost) Remove all PHY/phy_vars* and PHY/phy_extern 2023-03-06 19:47:08 +01:00
francescomani a7e7899edd addressing review including clang formatting 2023-02-23 19:09:25 +01:00
francescomani 0d9d4f55f7 further improvements in tda lists 2023-02-23 19:09:25 +01:00
francescomani fc30280a7d cleaning up some NR files 2023-02-21 16:53:51 +01:00