Commit Graph
29330 Commits
Author SHA1 Message Date
Robert Schmidt cb175569eb Merge remote-tracking branch 'origin/xl_min_mcs' into integration_2025_w15 (!3281)
Add support for 'dl_min_mcs' and 'ul_min_mcs' configuration parameters

Add support for 'dl_min_mcs' and 'ul_min_mcs' configuration parameters,
they will enforce the gNB scheduler to select always a MCS equal or
above its values

In addition to use a min value for MCS, this MR also enables the testing
of a specific MCS value with COTS UE, by setting

    xl_min_mcs = xl_max_mcs

example:

    dl_min_mcs: 22
    dl_max_mcs: 22
    ul_min_mcs: 7
    ul_max_mcs: 7

In the example above, the scheduler will use always MCS 22 for downlink
and MCS 7 for uplink.
2025-04-12 11:03:56 +02:00
Robert Schmidt ec65c7cbaa Merge remote-tracking branch 'origin/nr_dlsim_improve_logging' into integration_2025_w15 (!3336)
Fix logging in nr_dlsim

Added Python helper script to plot buffer data
2025-04-12 11:03:25 +02:00
Robert Schmidt e7b46342d5 Merge remote-tracking branch 'origin/asn1c-default-no-output' into integration_2025_w15 (!3368)
Encapsulate the asn1c call from cmake in a cmake function run_asn1c().
As a notable change to the previous manual add_custom_command()
invocation, in suppresses the output of asn1c by default [1] and stores
it in a log file. In case of asn1c4 error, the output will output on
stdout.

Use the new run_asn1c() in all occasions for code generation.

[1] it is quite verbose, with many warnings that we cannot influence nor
suppress, and lists all generated files which is verified by the build
system automatically, anyway.
2025-04-11 16:29:27 +02:00
Robert Schmidt 26dcb876f5 Merge remote-tracking branch 'origin/nr-ue-slot-tx-cleanup' into integration_2025_w15 (!3312)
NR UE: enable concurrent UL slot processing

This commit introduces support for concurrent UL slot processing
Key changes:

- Increased number of UL actors from 1 to 2
- fix several issues related to writing to global variables inside processSlotTX
- Ensure in-order execution of if_module calls by utilizing the preexisting dynamic_barrier structure.

Note: for NTN, concurrent UL slot processing does not work. A flag
`--num-ul-actors X` has been introduced that allows to fix the number of
UL actors to `X` (default is 2).
2025-04-11 16:26:41 +02:00
Robert Schmidt bc5f2ec99e Merge remote-tracking branch 'origin/nr-ue-nas-service-reject' into integration_2025_w15 (!3275)
Add 5GMM Service Reject enc/dec library and unit test

- introduce the library for the NAS Service Reject enc/dec
- add relevant unit test
- add handler
2025-04-11 16:25:52 +02:00
Sakthivel Velumani d334a75c8a Fix memory leak and possible crash
nr_dlsim allocates memory on every SNR iteration without freeing it.
This can lead to memory exhaustion. Fix this by allocating only once
and reuse memory. Also, free it before exit.
2025-04-11 09:46:55 -04:00
Sakthivel Velumani 4adadedeb9 Fix logging to matlab/bin file
Add Python script to plot logged buffers. Modified write_file_matlab()
to add .bin extension if binary format is selected.
2025-04-11 09:46:50 -04:00
francescomani 4b23c7ea65 F1 transmission from CU to DU of SIB2 2025-04-11 15:37:08 +02:00
Chieh-Chun Chen 49d302960c Fix: modify block_length to Kprime 2025-04-11 14:40:52 +02:00
Robert Schmidt 2ab747eaa6 CI CoreNetwork: define function getName()
Some functionality (e.g., in cls_oaicitest.py) uses cn.getName(). Define
that function to avoid assertions.
2025-04-11 14:16:49 +02:00
Robert Schmidt 4296bfe34f Merge remote-tracking branch 'origin/info-asan-bug' into integration_2025_w15 (!3370)
Doc: add information on how to avoid a common asan bug

Closes #943
2025-04-11 07:38:55 +02:00
Robert Schmidt b381d7ffae Merge remote-tracking branch 'origin/944-typo-in-gnb_scheduler_uci-c' into integration_2025_w15 (!3366)
Fix typo in gNB_scheduler_uci.c

Closes #944
2025-04-11 07:38:29 +02:00
Robert Schmidt b9f5746df4 Merge remote-tracking branch 'origin/fix-count-nr-pdcp' into integration_2025_w15 (!3365)
nr pdcp: 'count' is 32 bits, use explicit type instead of generic 'int'

fix #942
2025-04-11 07:38:02 +02:00
Robert Schmidt 9e4aefda6b Merge remote-tracking branch 'origin/issue-939' into integration_2025_w15 (!3364)
NR UE: fix PRACH generation with frequency resource id not 0 when msg1-FDM > 1 in SIB1

When msg1-FDM > 1 (2, 4 or 8) in SIB1, the frequency resource id of
PRACH could be not 0, current PRACH generation only considers frequency
resource id = 0. This MR fixes it, verified with 3rd-party gNB.

Closes #939
2025-04-11 07:37:33 +02:00
Robert Schmidt 8d294d71b8 Merge remote-tracking branch 'origin/RedCap_InitialBWP' into integration_2025_w15 (!3358)
RedCap InitialBWP

Prevent RedCap UEs to move to DedicatedBWP

  This allows the coexistence of RedCap UEs and non-RedCap UEs in the
  same cell by having an InitialBWP with 20MHz and a larger
  DedicatedBWP.

Update example RedCap configuration file to have 20 MHz InitialBWP and
40 MHz DedicatedBWP
2025-04-11 07:36:51 +02:00
Thomas Schlichter 67482f5d85 CI: add NR UE conf file including NTN LEO channel model 2025-04-10 14:36:01 +00:00
Thomas Schlichter 6e06c817f4 NR UE: remove now unnecessary local variable update_ntn_system_information
directly use `UE->ntn_config_message->update` instead
2025-04-10 13:56:20 +00:00
Thomas Schlichter 997790f656 NR UE: remove unused nr_slot_tx_offset
`nr_slot_tx_offset` is unused since commit f3e60a1417
2025-04-10 13:56:20 +00:00
Thomas Schlichter a9132a2f79 NR UE: in nr_adjust_synch_ue() extend the peak search to +/- cyclic prefix size
esp. for LEO NTN scenarios the timing drifts during initial sync, which is mostly compensated with --ntn-initial-time-drift.
But there might be a residual time offset, and by extending the peak search window we make this more tolerant.
2025-04-10 13:56:20 +00:00
Thomas Schlichter 4e3a7ad56e Extend NTN LEO example in RUNMODEM.md to include continuous Doppler compensation 2025-04-10 13:56:20 +00:00
Thomas Schlichter 29ed144764 use SIMD to speed up nr_fo_compensation() 2025-04-10 13:56:20 +00:00
Thomas Schlichter d6585f3750 rfsimulator: enable and correct NTN LEO doppler simulation 2025-04-10 13:56:20 +00:00
Thomas Schlichter 18469302d8 NR UE: add PI controller to continuous frequency offset compensation 2025-04-10 13:56:20 +00:00
Thomas Schlichter 84712f5f92 NR UE: add support for continuous UL frequency offset pre-compensation
Depending on the main source of frequency offset, pre-compensate the UL frequency offset (FO) accordingly.
Therefore modify the flag `--cont-fo-comp` to accept an integer value, where
 - `1` specifies, that the main FO contribution comes from the accuracy of the local oscillator (LO)
 - `2` specifies, that the main FO contribution comes from Doppler shift
2025-04-10 13:56:13 +00:00
Thomas Schlichter aac4642910 NR UE: add support for continuous DL frequency offset compensation (--cont-fo-comp) 2025-04-10 13:54:59 +00:00
Thomas Schlichter 616568a79d NR UE: add command line parameter --initial-fo to specify known initial frequency offset 2025-04-10 13:54:50 +00:00
Guido Casati 312f296b60 Add NAS handler for Service Reject message 2025-04-10 15:35:59 +02:00
Guido Casati 2b9782caa1 Add unit test for Service Reject 2025-04-10 15:35:59 +02:00
Guido Casati 5af4b89203 Add enc/dec function for NAS Service Reject library 2025-04-10 15:35:55 +02:00
Thomas Schlichter d16507055f NR UE: continuously estimate the frequency offset using PBCH DMRS 2025-04-10 12:37:19 +00:00
Thomas Schlichter dd827c7bd8 refactor (co)sinus calculation out of phase_noise() into openair1/PHY/TOOLS/get_sin_cos.c 2025-04-10 12:37:19 +00:00
Thomas Schlichter 9e4df97d84 move function add_noise() to file openair1/SIMULATION/TOOLS/phase_noise.c 2025-04-10 12:36:30 +00:00
luis_pereira87 f1811b5934 Move the initialization of bler_stats to 'add_new_nr_ue()' function 2025-04-10 13:18:29 +01:00
Bartosz Podrygajlo afd49e703c Workaround for issues with NTN and NR UE concurrent UL processing
- Allow setting number of used UL actors in NR UE
 - Disable the second UL actor in NTN GEO testcase
2025-04-10 13:11:00 +02:00
Bartosz Podrygajlo 2d35fc90ac NR UE: enable concurrent UL slot processing
This commit introduces support for concurrent UL slot processing

Key changes:
 - Increased number of UL actors from 1 to 2
 - fix several issues related to writing to global variables inside
   processSlotTX
 - Ensure in-order execution of if_module calls by utilizing the
   preexisting dynamic_barrier structure.
2025-04-10 12:47:54 +02:00
luis_pereira87 b421d6eaa9 Set 'min_mcs' in 'bler_stats' when initializing and when no activity is detected, instead of hardcode it to '9' 2025-04-10 11:20:59 +01:00
Guido Casati 25bc1bd89a Adopt eq_gprs_timer in eq_service_accept 2025-04-10 11:13:42 +02:00
Guido Casati ab3bb36357 Add eq_gprs_timer to common 5gmm_lib 2025-04-10 11:13:42 +02:00
luis_pereira87 699afafc6f Add support for 'dl_min_mcs' and 'ul_min_mcs' configuration parameters, they will enforce the gNB scheduler to select always a MCS equal or above its values 2025-04-10 09:11:17 +01:00
luis_pereira87 96b0cae63e Drop 'min_grant_mcs' configuration parameter 2025-04-10 09:11:17 +01:00
Robert Schmidt b9a6d93bfa Doc: add information on how to avoid a common asan bug 2025-04-10 09:06:57 +02:00
Robert Schmidt 05d393a399 Encapsulate cmake asn1c call, suppress useless output
Encapsulate the asn1c call from cmake in a cmake function run_asn1c().
As a notable change to the previous manual add_custom_command()
invocation, in suppresses the output of asn1c by default [1] and stores
it in a log file. In case of asn1c4 error, the output will output on
stdout.

Use the new run_asn1c() in all occasions for code generation.

[1] it is quite verbose, with many warnings that we cannot influence nor
suppress, and lists all generated files which is verified by the build
system automatically, anyway.
2025-04-09 14:35:29 +00:00
alexjiao 683670ed91 Fix PRACH generation with frequency resource id not 0 when msg1-FDM > 1 in SIB1 2025-04-09 20:06:41 +08:00
Reem Bahsoun 52f0bbc165 Modify files in ci-scripts/yaml_files/sa_gnb_aerial
- Update the L1 (cuBB) version in the docker-compose.yaml
- Change the argument for the L1 config file (cuphycontroller.yaml) in the aerial_l1_entrypoint.sh
2025-04-09 10:21:46 +02:00
Reem Bahsoun 8e253e3435 Modify XML and gnb.conf
- Update the N2 and N3 IP addresses to match the Grace Hopper's in the gnb.conf.
- Remove the test XML file for pulling images in the ARM image builder.
- Update the Aerial XML file to pull ARM images.
- Decrease tested throughput (temporarily) due to problems with Foxconn RU
2025-04-09 10:21:37 +02:00
francescomani bc27d1e691 improvements in SIB2 message (info taken from commercial gNB) 2025-04-08 18:09:18 +02:00
Justin Garey 0f9220b5ef Fixed typo in gNB_schedyler_uci.c 2025-04-08 15:30:52 +00:00
Robert Schmidt b5f7d22c02 Merge branch 'integration_2025_w14_p2' into 'develop'
Integration: `2025.w14` (part 2)

See merge request oai/openairinterface5g!3362

* !3255 Fixes for E1 and PDU session usage
* !3332 sched_ctrlCommon earlier
* !3356 Avoid accessing current_DL_BWP structure when scheduling DCI for other SIBs
* !3359 Fix inconsistent maxnoofPDUSessions definitions between NGAP and platform constants
* !3357 CI: update VVDN configuration file
* !3333 NR RLC improvements
* !3342 Fix bugs detected gcc
* !3347 feat(oran_fhlib_5g): O-RAN 7.2 FrontHaul Interface on Arm
* !3153 [E2 agent] RAN Control SM - support for REPORT Style 1 ("RRC Message" and "UE ID" RAN Parameter IDs)
* !3234 CI: minor tunings and improvements
* !3276 Optimization for unused symbols in NR UE
* !3317 Extend F1 Handover test
2025-04-08 12:20:05 +00:00
Robert Schmidt 469bf23666 Merge remote-tracking branch 'origin/extend-f1-ci-test' into integration_2025_w14_p2 (!3317)
Extend F1 Handover test

do 1 more handover in the same test to verify robustness

- This MR keeps a simple ping after the second handover since there are
  still issues due to scheduling starting too early, that is as soon as
  the UE context is added. This leads to retransmissions that could
  eventually lead to a test failure. The issue will be fixed in a future
  MR.

add check on connected DU to verify successful handover

- a new telnet function gets in input the UE ID and returns the ID of
  the connected DU

wait some time after deploying DU to mimic time for measurements
2025-04-08 10:06:06 +02:00
Robert Schmidt b4f8c9c981 Merge remote-tracking branch 'origin/ifft-avoidance' into integration_2025_w14_p2 (!3276)
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.

Biggest benefit is when UE does not transmit PUSCH, or PUSCH is using <
14 symbols
2025-04-08 10:06:06 +02:00