Commit Graph
83 Commits
Author SHA1 Message Date
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
Jaroslava Fiedlerova 592cb8ac6a Merge remote-tracking branch 'origin/gnb-txdataF-flatbuff' into integration_2026_w11 (!3834)
Use flat buffer for txdataF in gNB L1

This MR changes txdataF buffer format to hold freq domain data starting from
PRB0 instead of circular buffer that starts from PRB N/2. The motive is to
simplify RE mapping function in L1 and copying data to xran lib.
2026-03-12 14:59:07 +01:00
Sakthivel Velumani 044ca835d6 phy: use fftshift'ed buffer for txdataF
So far txdataF buffer has DC RE as the first element. This was prefered
most likely to avoid memcpy before iFFT but comes with a small
complexity in RE mapping functions.

Instead, we use a flat buffer that holds freq domain data starting from
first negative SC. After resource mapping is done on all channels, each
OFDM symbol is shifted before iFFT so that the buffer start with DC RE.

This reduces complexity in mapping functions and later on when passing
beam IDs to 7.2 split RU especially when a beam is associated to
interleaved RB and/or REs.

There is already a memcpy in place to copy txdataF from gNB stuct to RU
struct. So this change does not introduce new memcpy.
2026-03-09 18:27:27 +00:00
francescomani 803d87ef54 harmonize the use of definition for number of symbols per slot (no need to have two of them) 2026-03-06 18:38:55 +01:00
Rakesh Mundlamuri 729dc02b88 Split the code in the SNR loop as functions for readability
- Introduce signal energy and noise variance functions
- Combine rotation and OFDM modulation RX as a function
- Harmonize the use of number of antennas across the code
- Rename nr_ue_pusch_common_procedures() to nr_tx_rotation_and_ofdm_mod() to decribe the functionality better
2026-01-09 16:58:34 +05:30
Bartosz Podrygajlo 0161a1c4fd Optimization for unused symbols in NR UE
After processing TX frequency domain data skip IFFT call for symbols that aren't
used, the time domain buffer is memset instead.
2025-04-04 11:12:48 +02:00
Bartosz Podrygajlo 55b5e04e8d Change alignment of temporary IDFT buffer in PHY_ofdm_mod
Alignment of temporary IDFT buffer was changed to 64 bytes. This is in preparation
for possible use of different IDFT implementation which could use AVX-512, requiring
64-byte alignment.
2024-12-17 23:04:30 +01:00
Bartosz Podrygajlo 9e6c0c8c78 Fix unused code paths in PHY_ofdm_mod
For completeness sake, unused CYCLIC_SUFFIX and NONE extension
types were fixed to match CYCLIC_PREFIX memcpy usage.
2024-12-16 15:37:56 +01:00
Bartosz Podrygajlo 5ab9bd95bd Add const to input argument in PHY_ofdm_mod 2024-12-16 15:35:07 +01:00
Bartosz Podrygajlo 1481d89dfd Optimize PHY_ofdm_mod CYCLIC_PREFIX in case of incidentally aligned pointers
It seems that the cyclic prefix is in most cases a multiple of 512 samples.
This means that in most cases the idft output pointer is already aligned and
there is no need to perform an extra memcpy. This saves the memcpy time in
most cyclic prefix insertion cases.
2024-12-16 15:04:03 +01:00
Bartosz Podrygajlo 31b8d98bb5 Formating for PHY_ofdm_mod 2024-12-16 15:04:03 +01:00
rakesh mundlamuri 47d1f8bb82 harmonizing the IDFT index at different places 2024-04-11 16:47:32 -04:00
laurent 9121541b3c only cleaning 2023-07-10 12:00:25 +02:00
francescomani 1c3058e2d2 use of apply_rotation functions also at UE 2023-06-20 10:39:13 +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
Melissa Elkadi 2dfc36dc32 Converting OFDM mod/de-mod functions to use c16_ts instead of int16_ts 2023-05-10 09:10:12 -07: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
Bruno Mongazon-Cazavet 144e7a34aa essage=Simde - 1636 2022-10-05 17:58:29 +02:00
Bruno Mongazon-Cazavet fe1dc24e28 Add Intrinsics usage by SIMDE 2022-09-28 18:21:19 +02:00
Sagar Parsawar d85e0ec92a Merge remote-tracking branch 'origin/develop' into nr_prs 2022-09-07 09:15:36 +02:00
Thomas Schlichter 59cb602161 review changes 2022-08-29 12:43:50 +02:00
Thomas Schlichter 6310606980 fix alignment issues in case of odd number of PRBs 2022-08-25 11:05:48 +02:00
Thomas Schlichter 3c17573f34 apply nr rotation only on used PRBs instead of complete OFDM symbol 2022-08-25 11:05:48 +02:00
Sagar Parsawar 117c8bcc95 Merge remote-tracking branch 'origin/develop' into nr_prs 2022-08-04 14:37:05 +02:00
laurent df1cffbc7f fix bug introduced by avx2 rotate_cpx change to c16_t 2022-06-29 16:52:47 +02:00
laurent 5894bcac22 rebase develop 2022-06-27 18:48:45 +02:00
Laurent Thomas 980bb2420b fix CI discovered bug in avx2 rotate 2022-06-27 18:35:47 +02:00
Sagar Parsawar 0ef771a6c2 Merge remote-tracking branch 'origin/develop' into nr_prs_merge
not fixed: pbchsim.c
2022-05-10 13:14:45 +02:00
Sagar Parsawar 51df66257f OAI dft/idft support for 768 and 384 2022-03-03 17:54:00 +01:00
Sakthivel Velumani e7425965ed Fixing UE OFDM symbol generation
The CP length was hard coded for numerology 1
2021-05-03 20:46:10 +02: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
Raymond Knopp 7955cb4f8e tested IF4p5 on asterix/obelix (100 PRB via 1 Gbit/s) 2020-11-22 10:10:12 +01:00
Francesco Mani 28b280a657 Merge remote-tracking branch 'origin/develop' into NR_UL_scheduling 2020-08-26 13:49:30 +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
Raymond Knopp 80cc29acd9 optimization of RE extraction for NR ULSCH. Addition of faster memcpy to utils 2020-08-16 12:10:42 +02:00
Javier Morgade 58bd55b9b3 fembms:
-Increase buffer size in PHY_ofdm_mod to accomodate FeMBMS sizes
	-New FFT sizes added (IDFT_12288, IDFT_24576) to enable support for FeMBMS 10MHz and 20MHz channels BWs

Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2020-07-20 11:02:18 +02:00
frtabu 4649034b26 create dft shared lib 2020-03-31 12:10:48 +02:00
Wang Tsu-Han 6be2d8f081 using switch buffer for txdataF in L1 2019-11-18 12:33:48 +01:00
Raymond Knopp 8d78c0c98f Changes:
0. unwiring of 40 MHz channel hard-coding and general SSB location
1. PSS dynamic range improvement and DC carrier fix
2. SSS channel estimation and detection corrected
3. PBCH channel estimation fixed
4. PBCH channel extraction/compensation reworked for the general case
5. fixed-point low-complexity polar decoder integrated to PBCH decoding chain

works by default (nr_pbchsim) at 100 MHz / 30 kHz SCS and SSB wherever (but known to UE)
2018-10-25 02:32:47 +02:00
Raymond Knopp 5e9da7c54c temporary commit 2018-10-18 23:32:51 +02:00
Raymond Knopp b93b7073ca Merge remote-tracking branch 'origin/develop' into develop-nr
Conflicts:
	ci-scripts/Jenkinsfile-gitlab
	ci-scripts/buildOnVM.sh
	ci-scripts/checkCodingFormattingRules.sh
	ci-scripts/createVM.sh
	ci-scripts/destroyAllRunningVM.sh
	ci-scripts/reportBuildLocally.sh
	cmake_targets/CMakeLists.txt
	cmake_targets/build_oai
	cmake_targets/tools/build_helper
	common/utils/LOG/log.h
	openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c
	openair1/PHY/TOOLS/file_output.c
	openair1/PHY/TOOLS/lte_dfts.c
	openair1/PHY/TOOLS/tools_defs.h
	openair1/PHY/defs_eNB.h
	openair1/PHY/impl_defs_lte.h
	openair1/SCHED_UE/phy_procedures_lte_ue.c
	openair2/COMMON/platform_constants.h
	openair2/COMMON/platform_types.h
	openair2/LAYER2/MAC/eNB_scheduler.c
	openair2/LAYER2/MAC/main.c
	openair2/RRC/LTE/L2_interface.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
	openair2/RRC/LTE/MESSAGES/asn1_msg_NB_IoT.c
	openair2/RRC/LTE/rrc_UE.c
	openair2/RRC/LTE/rrc_eNB.c
	openair2/RRC/LTE/rrc_eNB_S1AP.c
	openair2/UTIL/LOG/log.c
	openair3/S1AP/s1ap_common.h
	openair3/S1AP/s1ap_eNB.c
	openair3/S1AP/s1ap_eNB_context_management_procedures.c
	openair3/S1AP/s1ap_eNB_decoder.c
	openair3/S1AP/s1ap_eNB_decoder.h
	openair3/S1AP/s1ap_eNB_handlers.c
	openair3/S1AP/s1ap_eNB_nas_procedures.c
	openair3/S1AP/s1ap_eNB_overload.c
	openair3/S1AP/s1ap_eNB_trace.c
	openair3/TEST/EPC_TEST/play_scenario_decode.c
	openair3/TEST/EPC_TEST/play_scenario_s1ap.c
	openair3/TEST/EPC_TEST/play_scenario_s1ap_compare_ie.c
	targets/COMMON/openairinterface5g_limits.h
	targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
	targets/RT/USER/lte-ran.c
	targets/RT/USER/lte-ru.c
	targets/RT/USER/lte-ue.c
	targets/SIMU/USER/oaisim_functions.c
2018-08-25 18:20:44 +02:00
frtabu b85cbddeec log.c simplification, fix usefull functionality which never worked, move all log code from openair2 to common 2018-07-30 20:07:22 +02:00
Guy De Souza 3ac00170b2 Compiling version- Merge with UE directory split 2018-05-16 11:37:57 +02:00
Guy De Souza 303d677197 Merge branch 'develop-uedirectorysplit' into nr_initialsync 2018-05-02 16:21:33 +02:00
Raymond Knopp ea784f2b4b full IF4p5 simulation working 2018-04-29 09:35:23 -07:00
Guy De Souza ad358decce txdata malloc fix 2018-04-18 11:57:24 +02:00
Guy De Souza d1f264cd90 feptx ofdm update 2018-04-18 09:47:37 +02:00
Guy De Souza 36717c6831 Ofdm mod update 2018-04-17 10:18:00 +02:00
Raymond Knopp 8b1416b862 debugging of new directory structure, file renaming, and eNB/UE splitting. dlsim/ulsim functional. 2018-04-09 15:32:49 -07:00
Guy De Souza e88abf27c2 3/4 sampling for 80MHz / Max ofdm size 4096 2018-03-22 16:27:30 +01:00