Commit Graph
57 Commits
Author SHA1 Message Date
francescomani 9cc53a43b1 invalidPrintfArgType_uint 2024-04-09 16:44:56 +02:00
francescomani 686da85d05 invalidPrintfArgType_sint 2024-04-09 16:44:56 +02:00
Laurent THOMAS a95dffc80e delete dead files 2024-03-26 20:57:31 +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 c8afb25d3b moving generation of precoding matrices at MAC and trying to adapt to SCF (1st version) 2024-01-19 09:21:08 +01:00
Quency Lin fcb23b441a Refactor: Do SIMD precoding in a function
Use blend instead of set and extract to rearrange, faster
Use 256 SIMD for every 2 RB, use 128 SIMD for ARM and last RB
2023-12-14 11:31:10 +01:00
Quency Lin b240bc485f Feat: improve layer mapping by 32 bits assignment 2023-12-07 14:04:06 +01: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 4c3d8e7581 fix-mem-overflow_64qam
fix the 64QAM modulator case, that process 192 bits per iteration, then 24 bits per iteration of the tail bits, then added the last two symboles processing (no odd number of symbols case)
2023-08-23 11:14:42 +02:00
Robert Schmidt 555a54f85e Add Sidelink (SL) carrier frequency
1. Adding a "SL" frequency for Sidelink mode. The
   importance of this variable is to ensure that
   when we are in mode 1 (UE+UE+gNB), that the slot
   configuration and frequencies do not overlap. This
   SL frequency is important for rotation and allows
   us to utilize the OFDM modulation and demodulation
   functions that already exist in OAI.
2. Adding sl_mode to the command line for proper UE
   deployment when in SL mode. sl_mode can be set to 0,
   1, or 2. sl_mode 0 indicates no-Sidelink at all,
   mode 1 is gNB, UE, and UE (3GPP defines mode numbers).
   sl_mode 2 indicated UE to UE communications with no
   gNB at all.
3. New functions for calculating the carrier frequency
   for SL mode.
2023-06-16 11:11:44 +02:00
laurent b339460666 cleanup only 2023-04-28 16:25:24 +02:00
Sakthivel Velumani 44906a236c Changed buffer alloc and symb rotaion logs to debug 2023-03-07 16:54:25 -05:00
Bruno Mongazon-Cazavet fe1dc24e28 Add Intrinsics usage by SIMDE 2022-09-28 18:21:19 +02:00
francescomani 166aae35ab fixes to get 100MHz working with 2 layers 2022-08-16 11:18:00 +02:00
luis_pereira87 48019c33f4 Minor optimization in function init_symbol_rotation 2022-08-01 11:20:55 +01:00
laurent 017fd225bc fix ubsan detected errors 2022-07-20 10:40:32 +02:00
laurent df1cffbc7f fix bug introduced by avx2 rotate_cpx change to c16_t 2022-06-29 16:52:47 +02:00
Thomas Schlichter 729cf143e0 Merge remote-tracking branch 'origin/develop' into support-15-kHz-SCS 2022-04-01 10:28:11 +02:00
Thomas Schlichter 88c0028757 Merge remote-tracking branch 'origin/develop' into support-15-kHz-SCS 2022-03-24 11:39:22 +01:00
francescomani 12f9dd95eb Merge remote-tracking branch 'origin/develop' into nr_mimo_precoding_codebook_I 2022-03-22 09:44:40 +01:00
Thomas Schlichter 4a90091095 fix init_timeshift_rotation() 2022-03-14 16:39:17 +01:00
francescomani 0e106543ef clean up of ulsch ue structures 2022-01-25 18:54:33 +01:00
sfn e993a59d22 Make use of gNB precoding matrix for PDSCH layer precoding 2021-11-29 12:14:33 +01:00
Thomas Schlichter 5c6865fbc6 5G NR: simplify init_timeshift_rotation()
Only Ncp1 is used, so get rid of the second timeshift_symbol_rotation array.
Also simplify the computation of "t0 * Tc * f".
2021-04-26 16:09:32 +02:00
Sakthivel Velumani 215f263a69 Making sample offset as cmd line parameter
for gNB its in L1 section of config file
for UE its a cmd line paramenter
2021-04-26 03:09:17 +02:00
Sakthivel Velumani 11111bcd68 Adding freq domain deroration to DL
also fixed build wanings
2021-04-23 16:22:28 +02:00
Sakthivel Velumani 945a020f93 Added linear phase derotation in UL
This is necessary to compensate the rotation caused by the timeshifted OFDM symbol (1/8 CP)
2021-04-23 15:41:44 +02:00
Thomas Schlichter 3152df445e Merge remote-tracking branch 'develop' into NR_DL_MIMO 2021-03-16 13:37:07 +01:00
Thomas Schlichter 681c03667d NR: fix init_symbol_rotation() for UL 2021-03-08 16:23:20 +01:00
Thomas Schlichter 7a6f789aed Merge remote-tracking branch 'develop' into NR_FDD_FIX 2021-03-03 17:59:17 +01:00
cig e023f67ed8 Compute and apply symbol rotation for DL and UL
- now done according to the proper DL/UL frequency
- this makes it compatible with FDD mode
2021-02-17 14:14:06 +01:00
Thomas Schlichter 97801299dc some whitespace fixes in openair1/PHY/MODULATION/nr_modulation.c 2021-02-10 09:10:22 +01:00
dir 3efdb2775e NR SCFDMA changes for higher RB sizes (RB Sizes until 100Mhz) 2021-02-09 11:07:53 +01:00
Khodr Saaifan e72d0483b4 Add PDSCH precoder functions, fix pusch_rx for 2 rx antennas, fix nr_dlsim for 2x1 MIMO simulation 2021-02-01 10:06:08 +01:00
Rakesh 2cac29b5c6 fix for modulation rotataion to support all numerlogies 2020-09-17 17:46:50 +02:00
Francesco Mani 28b280a657 Merge remote-tracking branch 'origin/develop' into NR_UL_scheduling 2020-08-26 13:49:30 +02:00
Raymond Knopp 632803289c fixed initialization of rotation for symbol 0 2020-08-25 15:02:41 +02:00
Raymond Knopp cc0ff7422e implementation of missing symbol-based rotation for NR modulation/demodulation (Section 5.3 38.211). Tested with unitary simulators (ulsim/dlsim).
To be tested with gNB testbench and rfsimlator
2020-08-25 01:48:55 +02:00
Sakthivel Velumani 579f9f969b included check for mod_order 2020-08-20 16:59:02 +02:00
Sakthivel Velumani dc2d948bad memory bugfix and other minor fixes 2020-08-17 13:55:13 +02:00
Sakthivel Velumani 9c01cc66ea diabling avx2 for qpsk 2020-08-14 16:31:37 +02:00
Sakthivel Velumani 8aa88999fc fixes 2020-08-14 11:43:54 +02:00
Sakthi 76f7840961 bug fixes 2020-08-10 19:22:53 +02:00
Sakthi 5e7ce26c10 more additions 2020-08-10 19:14:14 +02:00
Sakthivel Velumani 82df0e51b9 updated tables and 64qam mod 2020-08-10 15:19:53 +02:00
Sakthivel Velumani fbd4df014c Further improvements
additional 50% speed improvement with SIMD vectors
2020-08-03 11:22:34 +02:00
Sakthivel Velumani 82be36533b Included special case for 64qam 2020-07-30 17:31:28 +02:00
Sakthivel Velumani 5fa775580c Removed unwanted loop and if
Reordered mod_table to support new changes in the function
2020-07-29 13:01:09 +02:00
Raymond Knopp bea3385f28 changes for ulsim to get functionality back. simulation behaviour for PUSCH is not good (BLER waterfall is way too steep even if SNR threshold is ok). Note develop does more or less the same thing but SNR threshold is lower. 2020-07-06 01:53:46 +02:00
frtabu 0518ced81f dft/idft in shared lib 2020-04-02 12:11:21 +02:00