Commit Graph
128 Commits
Author SHA1 Message Date
Thomas Schlichter 0eb409f114 NR_UE: Perform autonomous timing advance to compensate for fast time drift with relatively large RTT
As we don't have SIB19 with continuously updated ta-Common and ta-CommonDrift values yet, the UE can only adapt it's UL timing according to it's DL drift.
This is required for the UE to keep UL sync with fast time drift and relatively long RTT (e.g. LEO satellite).
We should replace this with the standard compliant way as soon as we have SIB19 with continuously updated contents.
2024-08-23 14:57:48 +02:00
Thomas Schlichter e662721310 NR_UE: make NTN parameter ta_CommonDrift_r17 configurable via command line parameter --ntn-ta-commondrift
While we don't have SIB19 support yet, UE gets this parameter from command line, just like --ntn-koffset and --ntn-ta-common.
We use this value to initialize the UE's time-tracking PI controller accumulator.
This allows to correctly track the time even if the delay is changing significantly (e.g. due to LEO satellite movement).
We also use it to compensate for the time drift that happenes while performing the initial sync.
2024-08-23 10:26:18 +02:00
Thomas Schlichter 4039473a70 NR_UE: add PI controller to time sync
this allows to compensate larger continuous time drift in DL (e.g. large Doppler from LEO satellite)
2024-08-23 10:26:18 +02:00
Jaroslava Fiedlerova 6529863af2 Merge remote-tracking branch 'origin/ue-cleanup-2' into integration_2024_w33 2024-08-16 18:54:59 +02:00
Robert Schmidt 168582b5a1 Remove netlink_init.c, and move remaining functionality to tun_if.c
Remove openair1/SIMULATION/ETH_TRANSPORT/netlink_init.c, and move TUN
interface creation functionality to tun_if.c.

Remove SIMU_ETH target.
2024-08-02 15:31:04 +02:00
Bartosz Podrygajlo d465ed2fbc NR UE: Cleanup global variables used for command line parameter storage
Variables moved to nrUEParams:
vcdflag, rx_gain_off, usrp_args, tx_subdev, rx_subdev, reconfig_file, rbconfig_file, uecap_file,
tx_gain, rx_gain

Variables removed:
rx_gain_mode
2024-08-01 09:50:29 +02:00
Bartosz Podrygajlo b0b8818549 Remove unused command like parameter rrc_config_path 2024-08-01 09:48:54 +02:00
Jaroslava Fiedlerova d0daf03089 Merge remote-tracking branch 'origin/NR_UPDATE_RXGAIN' into integration_2024_w30 2024-07-26 18:07:22 +02:00
Raghavendra Dinavahi 95a8767383 Automatic update of USRP RX gain during initial search using --agc option
- if search fails, keeps increasing the rx gain (set by --ue-rxgain) by
  3 db until USRP max rx gain
- if initial sync is success, sets the rxgain to the value of
  (TARGET_RX_POWER (50) - pbch digital power in dB/RE)
2024-07-25 15:33:44 +02:00
Bartosz Podrygajlo 93280a3e75 Remove unused nr_dlsch_demod_shift command line parameter from NR UE 2024-07-18 09:31:37 +02:00
Bartosz Podrygajlo ead066d630 Remove unused abstraction_flag from NR UE 2024-07-18 09:31:37 +02:00
Bartosz Podrygajlo dc91550e2c Remove unused flag single_thread_flag from softmodems. 2024-07-18 09:31:29 +02:00
Bartosz Podrygajlo 1f7ec847bc Remove tddflag. Frame type depends on band. 2024-07-18 08:28:54 +02:00
Thomas Schlichter 75efcf49b9 NR UE: add NTN specific parameter ta-Common and use it for initial timing advance, RA_contention_resolution_timer and RA_window_cnt
The value for this parameter can be set via UE command line parameter `--ntn-ta-common` in milliseconds.
2024-07-11 13:33:30 +02:00
Thomas Schlichter 26175c5413 NR UE: add NTN specific parameter cellSpecificKoffset_r17 and use it for UL scheduling
According to the RRC specification, cellSpecificKoffset is:
Scheduling offset used for the timing relationships that are modified for NTN (see TS 38.213 [13]).
The unit of the field K_offset is number of slots for a given subcarrier spacing of 15 kHz.
If the field is absent UE assumes value 0

This parameter `cellSpecificKoffset_r17` can be set via UE command line parameter `--ntn-koffset`.
2024-07-10 14:42:42 +02:00
Robert Schmidt 78b48a1e59 Merge remote-tracking branch 'origin/multiple-nr-ues' into integration_2024_w27 2024-07-09 12:07:30 +02:00
Robert Schmidt 9f86e33ec2 Merge remote-tracking branch 'origin/t2-offload-mr4.1' into integration_2024_w27 2024-07-09 07:54:08 +02:00
Bartosz Podrygajlo bcfe3a6733 Initialize number of NR UEs equal to --num-ues parameter 2024-07-01 17:13:05 +02:00
Bartosz Podrygajlo d5a4272177 Add parameter --num-ues to NR UE 2024-07-01 17:11:27 +02:00
Jaroslava Fiedlerova 6bec8779c6 Enhance T2 Offload for gNB and UE
- Reworked nrLDPC_decoder_offload.c to process all segments in a TB with a single call to LDPCdecoder() or LDPCencoder().
- Perform CRC checks on the T2.
- Modified nr_ulsch_decoding (gNB decoder) to:
  - Count processed segments.
  - Properly perform CRC checks.
- Created a constant NR_LDPC_MAX_NUM_CB to define the maximum number of codeblocks.
- Conditional library loading:
  - On gNB: Load ldpc_t2 library if offload is enabled using the --ldpc-offload-enable flag.
  - On UE: Load both ldpc_t2 and ldpc libraries since only encoder offload is supported.
- General cleanup of nrLDPC_decoder_offload.c for improved readability and maintainability.
- Modified the structure of LDPC encoder/decoder/offload parameters:
  - Introduced a structure for code block (CB) related parameters.
  - Removed parameter E from the encoder and offload parameter structures for clarity.
  - Replaced E with perCB->E_cb in the UE encoder code.
2024-06-27 14:40:41 +02:00
Raghavendra Dinavahi 798ceeeef2 SL PSBCH: MAC->PHY cfg, PSBCH scheduler + supporting functions + enable system testing & scope
- Phy config update and Sidelink frame parameters initialisation
	- PSBCH scheduler to trigger TX PSBCH/RX PSBCH actions
	- Sidelink indication with rx ind to trigger send SL-MIB to MAC
	- Enable Scope for PSBCH use -d or --dqt
	- Enable system testing of PSBCH for example using RFSIMULATOR:

		- UE1 is a SYNCRONISATION SOURCE UE which transmits PSBCH

		  started using command -
		  sudo ./nr-uesoftmodem --sl-mode 2 --sync-ref 4 --rfsim --rfsimulator.serveraddr server

		- UE2 syncs onto UE1 during sidelink search, gets the timing and continues to receive PSBCH

		  started using command -
		  sudo ./nr-uesoftmodem --sl-mode 2 --rfsim --rfsimulator.serveraddr 127.0.0.1

		- In the default use case 2 Sidelink SSBs sent over 16 frames.

		- In case SL-SSB configuration needs to be changed use -O option in the above command like

		-O ../../../targets/PROJECTS/NR-SIDELINK/CONF/sidelink_preconfig_1txpool.conf
2024-06-21 09:40:16 +02:00
Robert Schmidt fc97e197fa Merge remote-tracking branch 'origin/gnb-improve-defaults' into integration_2024_w09 2024-03-05 11:11:55 +01:00
Robert Schmidt 29ca077b66 Increase default max LDPC iter to 8
Doing only 5 LDPC iterations by default leads to a poor reception
performance, and correspondingly many retransmissions. Increase to 8 as
the new default to improve user experience.
2024-03-05 08:03:45 +01:00
Laurent THOMAS 7466297568 move command line sample offset and 3/4 sampling option at top level, as it is common option for 4G,5G xNB and UE 2024-03-04 10:07:07 +01:00
Melissa Elkadi c4c1daeb16 Moving init of NRUE threads to nr-uesoftmodem.c 2023-12-20 21:58:01 +00:00
Robert Schmidt 9f45f1d769 Deprecate NR-UE --rrc_config_path, use --r{e,b}config-file instead
Config options --reconfig_file and --rbconfig-file have been introduced
to modify the filenames of reconfig.raw and rbconfig.raw (e.g., in the
case of multiple UEs). These filen*ames* were to be prepended with
--rrc_config_path to set the path. In summary, three options were
necessary, when two are sufficient.

In this commit, change to the options --reconfig-file and
--rbconfig-file (slight change for harmonization with other options,
which mostly use dashes) to give the full path to the corresponding
files, and avoid to surprise users who would not expect to have three
options.

--rrc_config_path has been deprecated and an error will be printed if a
user attempts to use it.
2023-08-09 17:32:45 +02:00
Sagar Parsawar f64179039e Applied clang formatting 2023-08-08 18:35:05 +02:00
Sagar Parsawar 3f6ed8d14a Fix for multiple gNB SSB decode in UE phy-test mode 2023-08-08 18:29:14 +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
Sakthivel Velumani a03864ee8c Fix printing help message 2023-04-03 10:24:26 -04:00
Robert Schmidt ff4c48f952 Align all configuration structs, and guard them to not be formatted with clang-format 2023-03-09 19:01:47 +01:00
francescomani 87f603687a fixing most warning when compiling nr-uesoftmodem 2023-03-09 19:01:47 +01:00
Roberto Louro Magueta 1c18f09b6e Add UE_Capability_nr config file 2022-12-14 14:00:31 +00:00
laurent e8be155c08 merge develop 2022-09-28 10:35:47 +02:00
laurent 01dc85f742 fix review comments 2022-09-22 18:53:14 +02:00
francescomani f62dc020c8 changing ssb subcarrier offset command line parameter to avoid overlap with SNR 2022-09-20 17:48:48 +02:00
Sagar Parsawar ba1a59f975 Bug fix to initialization of subdev selection string 2022-09-13 20:40:04 +02:00
Sagar Parsawar d85e0ec92a Merge remote-tracking branch 'origin/develop' into nr_prs 2022-09-07 09:15:36 +02:00
laurent aa2a36768c simplify thread pool configuration
fix segv

fix bug redeclaration of same struct in phy sim

Apply 1 suggestion(s) to 1 file(s)

code reveiw comments
2022-09-02 11:36:47 +02:00
Sagar Parsawar 9eed7db8a3 Optimizing PRS buffers, added freeing up in nrUE 2022-09-01 22:17:01 +02:00
Sagar Parsawar bb7a22be0d Merge remote-tracking branch 'origin/develop' into nr_prs 2022-08-22 19:16:55 +02:00
laurent 65b399fcd7 fix bugs in config module and config usage
fix bug from this MR

fix bug from this MR

stupid-mistake
2022-08-16 09:22:15 +02:00
Sagar Parsawar a5eda343ed 1. Fixed pbchsim build failure due to prs source file dependacy
2. Fixed GPS time assert in gNB_scheduler_uci.c
2022-08-05 17:29:51 +02:00
Sagar Parsawar 117c8bcc95 Merge remote-tracking branch 'origin/develop' into nr_prs 2022-08-04 14:37:05 +02:00
Sakthivel Velumani 8a8bacead9 Set default cmd values in UE
It looked like the default command line option were not set in case the options were not passed. The right function was not called.
2022-06-08 21:32:07 +05:30
Sakthivel Velumani 1afdc298e9 Interpolation chest default in UE 2022-06-08 21:32:07 +05:30
Sakthivel Velumani b2b84caeb5 Made PRB averaging channel est as default
fixed indendation
updated ulsim CI test parameters
2022-06-08 21:32:07 +05:30
Sakthivel Velumani 93e6bd26da Made channel estimation techniques configurable 2022-06-08 21:32:07 +05:30
Sakthivel Velumani 1d99c8e695 LDPC iterations as command line parameter 2022-06-08 21:32:07 +05:30
rakesh mundlamuri 09f50edc88 adding subdev selection for nrUE 2022-05-20 09:59:46 +02:00