1. 26 Mar, 2026 1 commit
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/ue_nas_simulator' into integration_2026_w13 (!3973) · 0ceb5fd3
      Jaroslava Fiedlerova authored
      Introduce UE NAS Simulator
      
      This MR introduces a simple standalone tester for 5G UE NAS signaling and NGAP
      messages. It connects to the AMF to perform NGAP and NAS encoding/decoding and
      validates the UE Registration and PDU Session Establishment processes without
      the overhead of a full Radio Access Network (PHY/MAC/RLC).
      
      The motivation for this tester is as follows,
      - This tester is a lightweight, deterministic tool to test the UE NAS layer
      directly.
      - Developers can easily inject specific NAS messages depending on the use-case.
      - Developers can validate custom NAS/NGAP messages without the need to implement
      complete RRC/MAC etc procedures.
      
      Start the 5G Core network to test the UE NAS simulator. The compiling and
      testing procedure is described below.
      To compile:
      mkdir build && cd build && cmake .. -GNinja && ninja nr-ue-nas-simulator-test
      
      To run:
        LD_LIBRARY_PATH=. ./tests/nr-ue-nas-simulator/nr-ue-nas-simulator-test -O ../tests/nr-ue-nas-simulator/test.conf
      0ceb5fd3
  2. 24 Mar, 2026 9 commits
  3. 23 Mar, 2026 8 commits
  4. 21 Mar, 2026 1 commit
  5. 20 Mar, 2026 7 commits
  6. 19 Mar, 2026 12 commits
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/srs-delay-comp' into integration_2026_w12 (!3859) · ec3642ea
      Robert Schmidt authored
      Delay compensation in SRS
      
      Implementation of delay compensation in channel estimation based on SRS.
      
      Testing, for example, with
      
          sudo ./nr_ulsim -n1 -s50 -S50 -R51 -E 1 -W2 -y2 -z2 -d 10
      
      we obtain the following logs.
      
      LOGs with develop branch:
      
          [NR_PHY] 	  __lsRe__________lsIm__|____intRe_______intIm__|____noiRe_______noiIm__
          [NR_PHY] (   0)    687	  -198  |     688	  -198  |      -1	    -3
          [NR_PHY] (   1)      0	     0  |     688	  -196  |      -1	    -3
          [NR_PHY] (   2)    687	  -198  |     644	  -272  |      -1	    -1
          [NR_PHY] (   3)      0	     0  |     600	  -346  |      -1	    -1
          [NR_PHY] (   4)    513	  -498  |     556	  -422  |      -1	    -1
          [NR_PHY] (   5)      0	     0  |     512	  -496  |      -1	    -1
          [NR_PHY] (   6)    513	  -498  |     440	  -542  |      -1	     0
          [NR_PHY] (   7)      0	     0  |     370	  -588  |      -1	     0
          [NR_PHY] (   8)    226	  -682  |     298	  -634  |      -1	    -3
          [NR_PHY] (   9)      0	     0  |     228	  -680  |      -1	    -3
          [NR_PHY] (  10)    226	  -682  |     140	  -686  |      -1	    -1
          [NR_PHY] (  11)      0	     0  |      52	  -690  |      -1	    -1
      
      intRe and intIm are the real and imaginary part of the interpolated
      channel, respectively. These are the columns that matter. As we can see,
      for example, in subcarrier 0 we have (688, -198), then in subcarrier 1
      we have (688, -196), which is almost the same, and then in subcarrier 3
      we have a jump (644, -272). This MR improves channel estimation by
      taking delay into account. If we look at the following logs, we see that
      the values vary more consistently from subcarrier to subcarrier.
      
      LOGs with this MR:
      
          [NR_PHY] 	  __lsRe__________lsIm__|____intRe_______intIm__|____noiRe_______noiIm__
          [NR_PHY] (   0)    487	  -139  |     490	  -111  |      -1	     0
          [NR_PHY] (   1)    487	  -139  |     483	  -138  |      -1	     0
          [NR_PHY] (   2)    487	  -139  |     465	  -197  |       0	     0
          [NR_PHY] (   3)    487	  -139  |     436	  -254  |       0	     0
          [NR_PHY] (   4)    364	  -353  |     402	  -305  |      -1	    -1
          [NR_PHY] (   5)    364	  -353  |     361	  -352  |      -1	    -1
          [NR_PHY] (   6)    364	  -353  |     317	  -392  |      -1	    -1
          [NR_PHY] (   7)    364	  -353  |     269	  -426  |      -1	    -1
          [NR_PHY] (   8)    160	  -481  |     214	  -455  |       0	    -1
          [NR_PHY] (   9)    160	  -481  |     159	  -478  |       0	    -1
          [NR_PHY] (  10)    160	  -481  |      98	  -495  |      -1	     0
          [NR_PHY] (  11)    160	  -481  |      39	  -502  |      -1	     0
      ec3642ea
    • Robert Schmidt's avatar
    • Robert Schmidt's avatar
      Remove unused/useless scripts · a7bd1880
      Robert Schmidt authored
      a7bd1880
    • Robert Schmidt's avatar
      Remove unused defines in NGAP/S1AP · 79ab29c8
      Robert Schmidt authored
      79ab29c8
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/variable_nb_rx_ant_for_rach' into integration_2026_w12 (!3957) · 040b62e8
      Jaroslava Fiedlerova authored
      replace static allocation of max antennas in a dynamic structure for gnb rach
      
      NB_ANTENNAS_RX was used in 5G by mistake
      there was also a error in O-RU implementation, with no consequences
      (index not in right order)
      040b62e8
    • francescomani's avatar
      e6e5c481
    • Romain Beurdouche's avatar
      feat(FHI72): Fix lcore count on Arm targets · 8d78c975
      Romain Beurdouche authored
      Meson configuration was configuring a wrong maximum number of lcores on
      the Arm platforms we are using (Neoverse V2 & NVIDIA Grace) as no
      configuration is provided for these platforms with DPDK 20.11.9.
      This commit solves this issue by requesting meson to use a generic
      config that sets a high maximum number of lcores.
      8d78c975
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/fhi_mux3' into integration_2026_w12 (!3986) · 785f1272
      Jaroslava Fiedlerova authored
      handle start symbol on non-zeroth downlink symbol for SIB1 for multiplexing
      pattern 3 configuration.
      
      This MR adds support for handling a non-zero start symbol for SIB1 when using
      multiplexing pattern 3 with the per-slot CP format.
      
      Previously, the implementation assumed that the first downlink symbol used by
      a PDU always starts at symbol 0. However, this assumption does not hold for
      SIB1 under multiplexing pattern 3, where the start symbol can be non-zero.
      
      This issue does not apply to the per-symbol CP format.
      
      Testing:
      a. Microamp using the branch microamp_1048: UE registration ok. end-to-end ok.
      b. Benetel: UE registration ok. end-to-end ok.
      785f1272
    • Robert Schmidt's avatar
      FHI72: handle more than 64 cores · 49ad65c5
      Robert Schmidt authored
      xran needs to be informed about the cores to use for packet processing.
      Prior to this change, we only filled the first 64bits, but it can go up
      to 128 in xran. Change the helper accordingly to support all.
      49ad65c5
    • Robert Schmidt's avatar
      Remove OSD · a088f6aa
      Robert Schmidt authored
      The README says:
      
      > It is just generating the XML file and it is placing it in
      > $(OPENAIR_TARGETS)/SIMU/EXAMPLE/OSD/WEBXML/ or http://localhost/xmlfile/
      > so that the oaisim could pars and run the simulation/emulation
      
      oaisim does not exist anymore, and corresponding simulation cannot be
      done. Also, it requires XAMPP and similar technologies, that I think
      nobody uses in the context of OAI.
      a088f6aa
    • rmagueta's avatar
      The nr_srs_channel_estimation function is split into the... · 4f31a4eb
      rmagueta authored
      The nr_srs_channel_estimation function is split into the nr_srs_ls_channel_estimation and nr_srs_channel_interpolation functions to allow the use of a common delay
      
      Define CIRCULAR_INC
      4f31a4eb
    • rmagueta's avatar
  7. 18 Mar, 2026 2 commits